我有一个自定义控件的样式,它继承自我无法修改的组合框。在这个样式中,有一个DataGrid控件,它接受一个ItemsSource,DataGrid也有一个x:Name,需要在某个地方的代码中引用,可能是由于事件。
所以基本上
<Style x:Key="ComboBoxStyle" TargetType="ComboBox">
<Setter Property="Template">
<Setter.Value>
... A whole bunch of other stuff.
<xcdg:DataGridControl
x:Name="CustomItemOneGrid"
ItemsSource="{Binding Source={StaticResource CustomItemOne_DataSource}}"
SelectionChanged="CustomItemOneGrid_SelectionChanged">
我的问题是CustomItemOne_DataSource,我有3次使用这个控件和3个数据源。此外,选择也改变了我需要订阅的事件。有没有办法保持这种风格我可以在所有三个控件中使用,但仍然有不同的Event和ItemsSource?
答案 0 :(得分:0)
为可能更改但未由ComboBox
类定义的项(例如GridItemsSource
)定义附加属性。然后绑定到模板中的附加属性。就像我讨论here一样。
答案 1 :(得分:0)
通常我让DataContext从实现样式/数据模板的Control流下来然后绑定到该控件上的属性。我不会使用StatisResources进行绑定。