0
我試圖添加一些默認文本到組合框,當沒有選定項目時將顯示。我正在使用一種風格來實現這個功能,當組合首次加載時效果很好。WPF XamComboEditor/ComboEditorTool - 設置默認文本
<Style TargetType="{x:Type igRibbon:ComboEditorTool}" x:Key="PleaseSelect">
<Style.Triggers>
<Trigger Property="SelectedIndex" Value="-1">
<Setter Property="Text" Value="Please Select" />
</Trigger>
</Style.Triggers>
</Style>
<igRibbon:ComboEditorTool Style="{StaticResource PleaseSelect}"
ItemsSource="{Binding MyItems}" SelectedItem="{Binding MySelectedItem }" />
但是當組合的選擇的項目被重置(通過設置爲null,它設置的SelectedIndex爲-1),它無法顯示默認的文本(即使觸發不火),這可能是這是爲什麼?有沒有更好的方法來重置所選項目?
乾杯
這裏是我使用的解決方案,這要歸功於@AlexPaven的想法:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null)
{
return "Please Select";
}
else
{
return value;
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is string && ((string)value) == "Please Select")
{
return null;
}
else
{
return value;
}
}
感謝您的回答。我試過以下轉換器,但它不起作用: 公共對象轉換(對象值,類型targetType,對象參數,System.Globalization.CultureInfo文化) { if(value == null) return「Please Select 「;其他 返回值; } 組合不顯示任何東西。 – ChrisWay 2010-09-03 13:39:48
再次審視這一點後,轉換器的想法起作用。我將添加代碼作爲一個單獨的答案,因此它是可讀的。 – ChrisWay 2011-02-24 11:20:35