簡體   English   中英

多綁定ComboBox.Text

[英]Multibinding ComboBox.Text

我有一個用於選擇屏幕分辨率width x height的組合框。 例如:1024x768(標准)800x699(標准)1500x900(寬)

我有一個MutliValueConverter可以將分辨率字符串轉換為視圖模型的寬度和高度成員(在converter的ConvertBack方法中),但是Convert方法僅返回null。

在我有組合框的xaml中

<ComboBox.Text>
    <MultiBinding Converter="{StaticResource resolutionConverter}">
        <Binding Path="GameWidth"/>
        <Binding Path="GameHeight"/>
    </MultiBinding>
</ComboBox.Text>

當我單擊以在組合框中選擇一個值時,組合框將退回到不選擇任何內容。 這是為什么 ?

我認為您不應該做這樣的事情,通常您只需要將ItemsSource設置為您的viewmodels集合,並將DisplayMemberPath設置為包含顯示字符串的屬性的名稱,並且應該就此。 然后,所選項目將成為視圖模型。

如果視圖模型沒有顯示字符串,則可以將其綁定到<string,ViewModel>的字典,則需要將DisplayMemberPath設置為Key並將SelectedValuePathValue ,那么所選的VM將位於SelectedValue屬性中。

(生成項目的顯示字符串的另一個選項是使用ItemTemplate 。然后,VM當然應該具有可以在其中使用的適當屬性。不過,這與IsEditable一起不能很好地工作)

暫無
暫無

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

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