在我的WPF应用程序中,我有一个位于网格控件内的ComboBox控件。在XAML我分配一个名称到ComboBox:从具有标识名称的DataTemplate中访问控件
<DataGridTemplateColumn Header="Status">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock VerticalAlignment="Center" Text="{Binding name_ru}" Width="Auto" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox Name="stcom" Style="{DynamicResource ComboBoxStyle}" SelectionChanged="status_SelectionChanged" Height="auto" Width="Auto">
<ComboBox.BorderBrush>
<SolidColorBrush Color="{DynamicResource Color1}"/>
</ComboBox.BorderBrush>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
随着方法FindName(串),我想指的是组合框及其相关的名称:
ComboBox stcom
{
get
{
return (ComboBox)FindName("stcom");
}
}
if (stcom != null)
{
stcom.ItemsSource = list;
}
但很明显的控制能未找到,因为参考stcom
保留为空。
现在的问题是如何引用我的ComboBox使用其名称属性?
好'FindName(“stcom”)'这不工作,我认为不在网格的控件。 – V4Vendetta 2012-07-11 08:44:54
如果您使用Expander可以看看http://stackoverflow.com/questions/26422811/accessing-the-children-of-an-expander-control/42381746#42381746 – 2017-02-22 02:51:25