【问题标题】:How to get value from combobox from another page?如何从另一个页面的组合框中获取价值?
【发布时间】:2017-12-13 08:54:18
【问题描述】:

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

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

【问题讨论】:

  • 你能展示你写的代码吗?
  • 嗯,这是什么类型的应用程序?网络/Windows?
  • wpf 应用程序
  • 公共字符串 ToAnotherWin() { k = comboboxPrices.SelectedItem.ToString();返回 k;我想将此方法传递给另一个页面,但它失败了
  • 公共字符串 ToAnotherWin() { k = comboboxPrices.SelectedItem.ToString();返回 k;我想将此方法传递给另一个页面,但它失败了@RobAnthony

标签: c# wpf combobox navigationservice getvalue


【解决方案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;
}

MainWindow 中的combobox 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"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    相关资源
    最近更新 更多