我还不知道所有技术术语,但我会尽力以最好的方式解释我的问题。
我的程序由Main Window
组成,其中定义了变量。我想使用ComboBox
和ComboBoxItem
个ComboBoxItem
。对于每个ComboBox
,我希望在ComboBoxItem
下面打开一个新部分,在此部分中输入将继续获得我想要的最后一个值。有关信息,只有一个UserControl
有效。
我已尝试在StackPanel
ComboBox
下的Main Window
中尝试 var definition = new Index()
{
Name = indexname,
Fields = new[]
{
new Field("id", DataType.String) { IsKey = true },
new Field("objectType", DataType.String) { IsSearchable = false, IsFilterable = true, IsRetrievable = true },
new Field("referenceId", DataType.Int32) { IsSearchable = false, IsFilterable = false, IsRetrievable = true },
new Field("name", DataType.String) { IsSearchable = false, IsFilterable = false, IsRetrievable = true },
new Field("tags", DataType.Collection(DataType.String)) { IsSearchable = true, IsFilterable = false, IsSortable = false, IsFacetable = true, IsRetrievable = true },
},
};
,但我想在此输入行定义和列定义部分,我无法在usercontrol窗口中执行此操作。
任何人都可以指导我,我可以阅读这个方法的主题吗?
答案 0 :(得分:1)
让我看看我是否正确...你想要显示一个不同的Content
deppending,用户选择ComboBoxItem
?如果是这种情况,您只需要创建一个x
个页面(其中x
是不同选项的数量)并且Frame
位于ComboBox
以下{ {1}}。在这些页面中,您可以放置任何内容:从DataGrid
到简单Label
。然后,您需要做的就是每次Content
SelectedIndex
事件被触发时,根据ComboBox
,将框架SelectedIndexChanged
设置为其中一个页面。
以下是一个例子:
public void MyComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
switch(MyComboBox.SelectedIndex)
{
case 0:
MyFrame.Content = new MyPage1();
break;
case 1:
MyFrame.Content = new MyPage2();
break;
}
}