【发布时间】:2010-10-15 12:23:28
【问题描述】:
我正在创建附加属性。我的附加课程是helper:FocusDetail,有 2 个属性。第二个属性DetailBody 类型是对象。我在项目控件上使用此属性
<ItemsControl ItemsSource="{Binding Riches}" BorderThickness="0">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding TextInfo}"
helper:FocusDetail.DetailTitle="{StaticResource strTitle}"
helper:FocusDetail.DetailBody="{Binding Description}"
/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
这是成功的工作
我正在像这样更改附加值
<DataTemplate>
<TextBox Text="{Binding TextInfo}"
helper:FocusDetail.DetailTitle="{StaticResource strTitle}">
<helper:FocusDetail.DetailBody>
<Binding Path="Description"/>
</helper:FocusDetail.DetailBody>
</TextBox>
</DataTemplate>
这是工作 我又变了
<DataTemplate>
<TextBox Text="{Binding TextInfo}"
helper:FocusDetail.DetailTitle="{StaticResource strTitle}"
>
<helper:FocusDetail.DetailBody>
<TextBlock Text="Some static text"></TextBlock>
</helper:FocusDetail.DetailBody>
</TextBox>
这是有效的。我最后的改变在这里
<DataTemplate>
<TextBox Text="{Binding TextInfo}"
helper:FocusDetail.DetailTitle="{StaticResource strTitle}">
<helper:FocusDetail.DetailBody>
<TextBlock Text="{Binding Description}"></TextBlock>
</helper:FocusDetail.DetailBody>
</TextBox>
</DataTemplate>
这是行不通的。文本块为空。
我正在改变
<TextBlock Text="{Binding Description}"></TextBlock> 到
<TextBlock Text="{Binding }"></TextBlock> 。
但是 textblock 返回 Window DataContext 类型。已经退出 Itemscontrol 迭代。
为什么绑定错误?
如何像上一个代码一样声明附加属性?
我需要附加属性包含可视树控件。
【问题讨论】: