2011-06-17 11 views
3

ComboBoxから派生したCustomControlがあります。関連するデータによっては太字のテキスト、イタリックのテキスト、通常のものが表示されます。これに関連するXAMLがないので、これを処理する方法を見つけるのが難しいです。項目はItemsSourceプロパティを介してコントロールへのDataBoundであるため、各項目タイプは自分のデータオブジェクトのObjectタイプに過ぎません。XAMLを使用しないWPF ComboBoxのデータに応じた太字と斜体のテキスト

アイデア?

答えて

7

あなたがオーバーライドして、カスタムコンボボックス ためDataTemplateを使用することができますコンボボックスのItemTemplate

<CustomComboBox.ItemTemplate> 
    <DataTemplate> 
     <TextBlock x:Name="tbTitle" Text="{Binding Title}"/> 
     <DataTemplate.Triggers> 
      <DataTrigger Binding="{Binding Style}" Value="0"> 
       <Setter TargetName="tbTitle" Property="FontWeight" Value="Bold"/>      
      </DataTrigger> 

      <DataTrigger Binding="{Binding Style}" Value="1"> 
       <Setter TargetName="tbTitle" Property="Foreground" Value="Red"/> 
       <Setter TargetName="tbTitle" Property="FontStyle" Value="Italic"/> 
      </DataTrigger> 
     </DataTemplate.Triggers> 
    </DataTemplate> 
</CustomComboBox.ItemTemplate> 

CustomComboboxのItemSourceが文字列プロパティTitleとint型のプロパティを持つ単純なオブジェクトのコレクションですStyle

関連する問題