簡體   English   中英

將WPF組合框ItemsSource綁定到字符串數組時出錯

[英]Error when binding WPF combobox ItemsSource to an Array of Strings

我無法將組合框的ItemsSource設置為數組。 我嘗試將DataContext設置為找到Array的類,然后在XAML中設置綁定

 class Car
{
    public string[] makes;
}

...

public MainWindow()
{
    Car _Car = new Car();
    _Car.makes = new string[]
        {
            "Toyota",
            "Mitsubishi",
            "Audi",
            "BMW"           
        };

    this.DataContext = _Car;
}

然后在XAML中

<ComboBox Name="cars" Grid.Column="0" 
              Grid.Row="0" Margin="5" 
              ItemsSource="{Binding Path=makes}"/>

它似乎什么也沒做。 我的汽車組合框沒有任何物品。

我也嘗試過明確分配

cars.ItemsSource= new string[]{
                "Toyota",
                "Mitsubishi",
                "Audi",
                "BMW"           
            };

但是然后我收到此錯誤消息:

調用的目標已引發異常。

我有什么想念的嗎?

WPF綁定不支持字段。 使其具有吸氣劑和吸氣劑的屬性

class Car
{
    public string[] makes { get; set; }
}

無論如何,您不必顯式聲明Path ,因此這足以滿足要求。

<ComboBox Name="cars" Grid.Column="0" 
          Grid.Row="0" Margin="5" 
          ItemsSource="{Binding makes}"/>

為了使數據綁定正常工作,您需要綁定“屬性”。

XAML

<ComboBox Name="cars" Grid.Column="0" 
          Grid.Row="0" Margin="5" 
          ItemsSource="{Binding makes}"/>

class Car
{
    public string[] makes { get; set; }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM