更改数据模板中的组合框选定项
change combobox selecteditem in datatemplate
嗨,我如何更改数据模板中的组合框?为什么我不能像这样使用我的组合框名称:
cmbBase.SelectedIndex = 2;
这是我的数据模板
<ContentControl>
<ContentControl.ContentTemplate>
<DataTemplate>
<Grid>
<ComboBox Name="cmbBase">
<ComboBoxItem Content="اول"/>
<ComboBoxItem Content="دوم"/>
<ComboBoxItem Content="سوم"/>
<ComboBoxItem Content="چهارم"/>
<ComboBoxItem Content="پنجم"/>
<ComboBoxItem Content="ششم"/>
</ComboBox>
<TextBlock x:Name="tb" Text=" انتخاب پایه " IsHitTestVisible="False" Visibility="Hidden"/>
</Grid>
<DataTemplate.Triggers>
<Trigger SourceName="cmbBase" Property="SelectedItem" Value="{x:Null}">
<Setter TargetName="tb" Property="Visibility" Value="Visible"/>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</ContentControl.ContentTemplate>
</ContentControl>
正如 Andy 所建议的,您需要研究 MVVM。如果您仍然想从后面的代码中获取它,请查看如何使用
FrameworkTemplate.FindName
PS,如果您尝试将文本放在组合框上方,直到用户选择一个项目,这不是这样做的方法,请尝试研究如何使用水印制作组合框,您会找到很多答案在此站点中。
嗨,我如何更改数据模板中的组合框?为什么我不能像这样使用我的组合框名称:
cmbBase.SelectedIndex = 2;
这是我的数据模板
<ContentControl>
<ContentControl.ContentTemplate>
<DataTemplate>
<Grid>
<ComboBox Name="cmbBase">
<ComboBoxItem Content="اول"/>
<ComboBoxItem Content="دوم"/>
<ComboBoxItem Content="سوم"/>
<ComboBoxItem Content="چهارم"/>
<ComboBoxItem Content="پنجم"/>
<ComboBoxItem Content="ششم"/>
</ComboBox>
<TextBlock x:Name="tb" Text=" انتخاب پایه " IsHitTestVisible="False" Visibility="Hidden"/>
</Grid>
<DataTemplate.Triggers>
<Trigger SourceName="cmbBase" Property="SelectedItem" Value="{x:Null}">
<Setter TargetName="tb" Property="Visibility" Value="Visible"/>
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
</ContentControl.ContentTemplate>
</ContentControl>
正如 Andy 所建议的,您需要研究 MVVM。如果您仍然想从后面的代码中获取它,请查看如何使用 FrameworkTemplate.FindName
PS,如果您尝试将文本放在组合框上方,直到用户选择一个项目,这不是这样做的方法,请尝试研究如何使用水印制作组合框,您会找到很多答案在此站点中。