Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>There are three common techniques for this.</p> <p><b>1) DataTrigger:</b></p> <pre><code>&lt;DataTemplate x:Key="ImageColumn"&gt; &lt;Grid&gt; &lt;Image x:Name="img" Source="MyImage.png"/&gt; &lt;Rectangle x:Name="rect" Fill="Red" Visibility="Hidden"/&gt; &lt;/Grid&gt; &lt;DataTemplate.Triggers&gt; &lt;DataTrigger Binding="{Binding TriggerProperty}" Value="2"&gt; &lt;Setter TargetName="rect" Property="Visibility" Value="Visible"/&gt; &lt;Setter TargetName="img" Property="Visibility" Value="Hidden"/&gt; &lt;/DataTrigger&gt; &lt;!--etc...--&gt; &lt;/DataTemplate.Triggers&gt; &lt;/DataTemplate&gt; </code></pre> <p><b>2) ValueConverters:</b></p> <pre><code>public class MyConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { string strVal = value as string; switch (strVal) { case "2": Rectangle rect = new Rectangle(); rect.Fill = Brushes.Red; return rect; default: Image img = new Image(); ImageSourceConverter s = new ImageSourceConverter(); img.Source = (ImageSource)s.ConvertFromString("MyImage.png"); return img; } } } </code></pre> <p><b>3) MVVM (Model-View-ViewModel):</b></p> <p>Create a ViewModel class that wraps your data model. This ViewModel would evaulate the properties in the data model and combine them with logic into a new property.</p> <pre><code>public UIElement Icon { get { if (TriggerProperty == "2") { Rectange rect = new Rectangle(); rect.Fill = Brushes.Red; return rect; } else { Image img = new Image(); ImageSourceConverter s = new ImageSourceConverter(); img.Source = (ImageSource)s.ConvertFromString("MyImage.png"); return img; } } } </code></pre> <p>And the XAML:</p> <pre><code>&lt;DataTemplate x:Key="ImageColumn"&gt; &lt;ContentControl Content="{Binding Icon}"/&gt; &lt;/DataTemplate&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload