[英]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.