2017-05-04 21 views
0

必要性 私はこれをデータテンプレートに設定しています。ハードウェアタイプごとに異なるアイコンを1つの特別な例外を付けて表示します。私が使用する3つのアイコンは次のとおりです。ショップ、アウトラインスター、およびその他のユーザー。すべてのレジスターにショップアイコンがあり、すべてのサーバーにアウトラインスターがあり、すべてのディスプレイボードには「その他のユーザー」アイコンが表示されます。いくつかのケースではシンボル値に基づいてSymbolIconを変更してください

例外 レジスタはサーバの役割を果たすこともありますので、私はそのような場合にはスターをアウトラインのアイコンを切り替えたいでしょう。

コード

   <DataTemplate x:Key="ZoomedInTemp" 
          x:DataType="DeviceMenu"> 
        <Grid> 
         <StackPanel Orientation="Vertical" Padding="5"> 
          <TextBlock Text="{x:Bind FacilityName}" /> 
          <StackPanel Orientation="Horizontal"> 
           <SymbolIcon Symbol="Shop" Margin="0,5,12,0"/> 
           <TextBlock Text="{x:Bind Hardware}" /> 
           <TextBlock Text="{x:Bind HostName}" Margin="10,0,0,0"/> 
          </StackPanel> 
         </StackPanel> 
        </Grid> 
       </DataTemplate>  

答えて

0

あなたが希望する記号を取得し、コンバータ内のハードウェアに基づいてシンボルを得るためのロジックを配置するためにコンバータを使用することができます。

コンバーターあなたがページ/アプリレベルのリソースにこのコンバーターを追加する必要があります。このコンバータ

<DataTemplate x:Key="ZoomedInTemp" 
         x:DataType="DeviceMenu"> 
       <Grid> 
        <StackPanel Orientation="Vertical" Padding="5"> 
         <TextBlock Text="{x:Bind FacilityName}" /> 
         <StackPanel Orientation="Horizontal"> 
          <SymbolIcon Symbol="{x:Bind Hardware, Converter={StaticResource SymbolConverter}}" Margin="0,5,12,0"/> 
          <TextBlock Text="{x:Bind Hardware}" /> 
          <TextBlock Text="{x:Bind HostName}" Margin="10,0,0,0"/> 
         </StackPanel> 
        </StackPanel> 
       </Grid> 
      </DataTemplate>  

を使用する

public class SymbolConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, string language) 
    { 
     // value is Hardware 
     // Logic to return symbol 
     //retun Symbol.OutlineStar 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, string language) 
    { 
     throw new NotImplementedException(); 
    } 
} 

XAML。 Symbolを決定する必要があるかどうか不明ですが、何か他のものが必要な場合は、それをConverterParameterで渡すこともできます。

関連する問題