我有一个像这样的数据模板
public class DefaultDataTemplate : DataTemplate
{
public string Name
{
get;
set;
}
}
我在这样的xaml中使用
<!-- Default DataTemplate -->
<DataTemplate x:Key="DefaultDataTemplate">
<Grid Margin="4" MinHeight="25">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Name}" FontWeight="Bold" />
</Grid>
</DataTemplate>
我想与我的数据模板的“名称”属性进行绑定(bind),但现在它绑定(bind)到我的 ListView 项的名为“名称”的属性。任何人都可以帮助正确的方式或语法
最佳答案
DataContext
对于 DataTemplate
是它正在模板化的 DataObject,您必须绑定(bind)回 DataTemplate
或者在这种情况下 DefaultDataTemplate
访问该属性。
尝试:
Text="{Binding Name, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataTemplate}}}
或者
Text="{Binding Name, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type myNamespace:DefaultDataTemplate }}}
关于c# - 与 Datatemplate 成员绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18415297/