更改数据模板中的组合框选定项

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,如果您尝试将文本放在组合框上方,直到用户选择一个项目,这不是这样做的方法,请尝试研究如何使用水印制作组合框,您会找到很多答案在此站点中。