如何从另一页的组合框中获取价值?

时间:2017-12-13 08:54:19

标签: c# wpf combobox navigationservice getvalue

这个人正在从组合框中选择smth,我必须保存这个值并将其传输到另一个页面?

click

1 个答案:

答案 0 :(得分:1)

首先创建一个存储变量(myVar)的类:

public class myData
{
    public string myVar { get; set; }
} 

然后创建一个静态类,其类型为myData

public static class allData
{
    public static myData myData {get;set;}
}

这允许您在另一个窗口中调用变量myVar

如果您的combobox位于MainWindow,您的MainWindow构造函数应如下所示:

public MainWindow()
{
     InitializeComponent();
     comboBox.ItemsSource = new string[] { "aaa","smth","bbb" };
     allData.myData = new myData();
     DataContext = allData.myData;
}

combobox中的MainWindow xaml:

<ComboBox x:Name="comboBox" SelectedValue="{Binding myVar}" HorizontalAlignment="Left" Margin="193,139,0,0" VerticalAlignment="Top" Width="120"/>

要显示组合框所选值的另一个窗口(例如Window1)的构造函数应如下所示:

public Window1()
{
     InitializeComponent();
     DataContext = allData.myData;
}

例如,如果您想将combobox的选定值显示为TextBlock,则xaml在这种情况下如下所示:

<TextBlock x:Name="textBlock" Text="{Binding myVar}" HorizontalAlignment="Left" Margin="96,108,0,0" TextWrapping="Wrap" VerticalAlignment="Top"/>