C# 在wpf中设置组合框的selecteditem

C# 在wpf中设置组合框的selecteditem,c#,wpf,combobox,selecteditem,C#,Wpf,Combobox,Selecteditem,我有一个我自己无法解决的问题,需要你的支持。 在我的WPF应用程序中,我有一个带有某种导航栏(基于System.Windows.Controls.Ribbon)的主窗口和一个内容区。 当我单击一个按钮1(RibbonButton)时,我会将一个页面分配给主窗口的内容区域。 在页面中,我有一个包含多个值/项目的组合框,我希望选择的值与我在导航中按下的按钮的标签或名称相匹配。 当我按下导航中的“其他”按钮时,组合框中应选择另一项 不幸的是,在主窗口的代码隐藏中的我的按钮点击事件中,我无法访问页面对象

我有一个我自己无法解决的问题,需要你的支持。 在我的WPF应用程序中,我有一个带有某种导航栏(基于System.Windows.Controls.Ribbon)的主窗口和一个内容区。 当我单击一个按钮1(RibbonButton)时,我会将一个页面分配给主窗口的内容区域。 在页面中,我有一个包含多个值/项目的组合框,我希望选择的值与我在导航中按下的按钮的标签或名称相匹配。 当我按下导航中的“其他”按钮时,组合框中应选择另一项

不幸的是,在主窗口的代码隐藏中的我的按钮点击事件中,我无法访问页面对象的组合框

有人能帮助我如何在主窗口的点击事件中访问页面对象的组合框吗

谢谢你和问候 TPS

您正在使用MVVM吗? 当我读到你在你的代码中使用代码隐藏的时候,我猜你有一个对你的页面的引用,对吗?我认为您可以在第I页上创建一个public方法,并通过该方法发送您希望在commbobox中设置的值,然后如果您使用的是mvvm,请将该值发送到与组合框SelectedItem关联的viewmodel属性

private void ribonButton_click()
{ thePageI.SetComboboxwith("this value");
 .....
}
在页面中

public void SetCombobox( string theValue){
 myViewModel.SetSelectedItem(theValue);
}

类似的东西

使用MVVM;在导航时,在模型中设置新视图模型可以拾取的变量。用代码隐藏做这件事将是一场噩梦。你能给它添加更多的细节吗(例如示例代码等)。我知道这听起来有点愚蠢,但我不是一个真正的开发人员,只知道一些关于MVVM的抽象细节,WPF中的绑定等等。不幸的是,您提出的解决方案超出了我目前对如何使用MVVM解决此问题的了解/想象。不幸的是,这方面的完整代码对于SO答案来说太大了(否则我会写一个)。不过,我不推荐让你的MVVM基础知识足够扎实。好的,我会努力让我的MVVM基础知识足够扎实,一旦我的MVVM基础知识发挥作用,我会回答我自己的问题。也许这会帮助其他人。顺便说一句:有人否决了我的问题,我有点失望-/我建议删除这一条,然后问一个更专注的问题。当前的解决方案太大了(对于初学者来说,至少要跨越四个文件)。阅读本文可能会帮助您:。就你而言;您还有一个XY问题:)当我问这个问题时,我正在使用代码隐藏进行导航。根据BradleyDotNET的评论,我切换到MVVM——意思是:视图:我有一个主窗口(包括导航,包括I.a.两个“导航”按钮),带有一个ContentControl和一个内容视图(带有I.a.组合框的UserControl)。ViewModels:每个视图一个ViewModel。模型:一个包含两个变量的类(组合框中显示了该变量的列表)。到目前为止,我的工作是通过主窗口的ViewModel中的ICommand将一个导航按钮绑定到contentcontrol。