繁体   English   中英

如何将组合框选中的项目添加到字符串中

[英]how to get combobox selected item to string

如何将我的组合框选中的项目从一个itemsource填充到一个字符串中,这样我就可以在我的帖子中使用它在另一个string bolts = comboBox_Copy.Text;就像string bolts = comboBox_Copy.Text; string bolts = comboBox.Copy.SelectedItem; 给出null

     private void boltPatterns()
    {
        {
            try
            {
                string Url = URL_Domain + "resources/bolt-pattern";
                Uri serviceUri = new Uri(Url);
                using (WebClient webClient = new WebClient())
                {
                    webClient.Encoding = Encoding.UTF8;
                    string api = webClient.DownloadString(serviceUri);

                    List<boltPatterns> values =  JsonConvert.DeserializeObject<List<boltPatterns>>(api);
                    comboBox_Copy.ItemsSource= values;
                }
            }

XAML

 <ComboBox x:Name="comboBox_Copy" DisplayMemberPath="BoltPattern" SelectedItem="{Binding BoltPattern}">
string bolts = comboBox.SelectedItem.ToString();

您正在使用绑定(这是一件好事),因此您不需要(并且在MVVM中大多数情况下不应该)访问组合框本身。

如果您想使用MVVM,请在您的顶级组件上设置此DataContext以启用对代码隐藏属性的绑定:

DataContext="{Binding RelativeSource={RelativeSource Self}}"

然后在代码隐藏类中创建一个类型为boltPatterns的属性SelectedBoltPattern (这就是你在示例中拼写它的方式)。 在XAML中采用SelectedItem绑定

SelectedItem="{Binding SelectedBoltPattern}"

请注意,这与属性名称匹配。

在代码隐藏中,您可以使用this.SelectedBoltPattern访问当前选定的项目。

一旦你习惯了绑定,你可能想要使用像Caliburn.Micro这样简单的MVVM框架来做最简单的应用程序。例如,那些使这些事情变得非常简单。

string bolts = comboBox.Text.ToString();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM