我有一個ListView有幾列。我沒有問題,每個GridViewColumn綁定的屬性,例如:列表視圖中的多重綁定
<ListView ItemsSource="{Binding MyList}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Name}">
<GridViewColumnHeader Content="Name"/>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
當我嘗試多路捆綁一個GridViewColumn兩個性質的問題開始:
<GridViewColumn>
<GridViewColumn.DisplayMemberBinding>
<MultiBinding Converter="{StaticResource DisplayMemberConverter}">
<Binding Path="HighestScore"/>
<Binding Path="IsHighestScoreApplicable"/>
</MultiBinding>
</GridViewColumn.DisplayMemberBinding>
<GridViewColumnHeader Content"Highest_Score"/>
我使用轉換器在這裏給出:
public class DisplayMemberConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
int int_value = (int)values[0];
bool bool_value = (bool)values[1];
if (bool_value == true)
return int_value;
return null;
}
...
}
我想達到的效果,當'IsHighestScoreAp plicable'屬性是錯誤的 - 列表視圖(空)上沒有顯示任何內容,並且當它爲真時 - 顯示HighestScore值,但那不成立 - 即使在'IsHighestScoreApplicable'時,我所得到的全部是空列真正。 此外,當我調試轉換()方法,我可以看到,如果聲明:
if (bool_value == true)
成立,並且返回的值是int_value,但仍沒有顯示出來的列表視圖。
怎麼了?
所有最好的, 戴夫