在datatemplate中更改组合框选择项

时间:2018-04-01 14:30:53

标签: c# wpf datatemplate

您如何在datatemplate中更改我的组合框?为什么我不能像这样使用我的组合框名称:

cmbBase.SelectedIndex = 2;

这是我的Datatemplate

<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>

1 个答案:

答案 0 :(得分:0)

Andy建议你需要研究MVVM。如果您仍想从后面的代码中获取它,请参阅如何使用 FrameworkTemplate.FindName

PS,如果你试图将文本放在组合框上方,直到用户选择一个项目,这不是这样做的方法,试着看看如何用水印做组合框,你会在这个网站找到很多答案。