1

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

public string ToAnotherWin() {
    k = comboboxPrices.SelectedItem.ToString();
    return k;
}
4

1 回答 1

1

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

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

然后创建一个带有类型变量的静态类myData

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

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

如果您combobox位于MainWindowMainWindow 构造函数中,则应如下所示:

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

中的comboboxxaml MainWindow

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

例如,如果您想将选定的值显示comboboxTextBlockxaml,在这种情况下,该值如下所示:

<TextBlock x:Name="textBlock" Text="{Binding myVar}" HorizontalAlignment="Left" Margin="96,108,0,0" TextWrapping="Wrap" VerticalAlignment="Top"/>
于 2017-12-13T10:39:27.163 回答