Im changing the checkbox "checkbox" image based upon binding values triggered and all is fine but the initial image doesnt get set. It remains as a checkbox.
I think its either the trigger or not the right way to mondify this or Im missing something.
Ideas?
I think its either the trigger or not the right way to mondify this or Im missing something.
Ideas?
xaml Code:
<UserControl x:Class="Dev.Views.Controls.ProgressCheckBox" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" x:Name="Root" d:DesignHeight="300" d:DesignWidth="300" mc:Ignorable="d"> <UserControl.Resources> <DataTemplate x:Key="NotStartedTempalte"> <!--<RadioButton Content="" IsChecked="True" IsEnabled="False" />--> <Path x:Name="NotStartedTempalte" Width="15" Height="15" Margin="2" Stretch="Fill" Stroke="Black" StrokeThickness="1.5" > <Path.Data> <RectangleGeometry Rect="40,40 30 30" /> </Path.Data> </Path> </DataTemplate> <DataTemplate x:Key="InProgressTemplate"> <Path x:Name="ArrowPath" Width="30" Height="15" Data="F1 M 358.447,332.449L 358.447,319.664L 380.875,319.664L 380.798,309.408L 407.698,326.505L 381.068,343.628L 380.982,332.45L 358.447,332.449 Z " Stretch="Fill" Stroke="Black" StrokeThickness="2" /> </DataTemplate> <DataTemplate x:Key="CompleteTemplate"> <Path x:Name="CheckMark" Width="25" Height="25" Data="M 12.4227,0.00012207C 12.4867,0.126587 12.5333,0.274536 12.6787,0.321411C 9.49199,3.24792 6.704,6.57336 4.69865,10.6827C 4.04399,11.08 3.47066,11.5573 2.83199, 11.9706C 2.09467,10.2198 1.692,8.13196 3.8147e-006, 7.33606C 0.500004,6.79871 1.31733,6.05994 1.93067,6.2428C 2.85999,6.51868 3.14,7.9054 3.60399,8.81604C 5.80133, 5.5387 8.53734,2.19202 12.4227,0.00012207 Z " Fill="Black" SnapsToDevicePixels="False" Stretch="Fill" Stroke="Black" StrokeThickness="1" /> </DataTemplate> <DataTemplate x:Key="ErrorTemplate"> <Path Width="15" Height="15" Margin="2" Data="F1M54.0573,47.8776L38.1771,31.9974 54.0547,16.1198C55.7604,14.4141 55.7604,11.6511 54.0573,9.94531 52.3516,8.23962 49.5859,8.23962 47.8802,9.94531L32.0026,25.8229 16.1224,9.94531C14.4167,8.23962 11.6511,8.23962 9.94794,9.94531 8.24219,11.6511 8.24219,14.4141 9.94794,16.1198L25.8255,32 9.94794,47.8776C8.24219,49.5834 8.24219,52.3477 9.94794,54.0534 11.6511,55.7572 14.4167,55.7585 16.1224,54.0534L32.0026,38.1745 47.8802,54.0534C49.5859,55.7585 52.3516,55.7572 54.0573,54.0534 55.7604,52.3477 55.763,49.5834 54.0573,47.8776z" Fill="Red" RenderTransformOrigin="0.5,0.5" Stretch="Uniform" /> </DataTemplate> <ControlTemplate x:Key="CheckBoxTemplate" TargetType="ContentControl"> <ContentControl Name="Content" /> <ControlTemplate.Triggers> <DataTrigger Binding="{Binding ProgressCheckMode, ElementName=Root}" Value="Complete"> <Setter TargetName="Content" Property="ContentTemplate" Value="{StaticResource CompleteTemplate}" /> </DataTrigger> <DataTrigger Binding="{Binding ProgressCheckMode, ElementName=Root}" Value="InProgress"> <Setter TargetName="Content" Property="ContentTemplate" Value="{StaticResource InProgressTemplate}" /> </DataTrigger> <DataTrigger Binding="{Binding ProgressCheckMode, ElementName=Root}" Value="NotStarted"> <Setter TargetName="Content" Property="ContentTemplate" Value="{StaticResource NotStartedTempalte}" /> </DataTrigger> <DataTrigger Binding="{Binding ProgressCheckMode, ElementName=Root}" Value="Error"> <Setter TargetName="Content" Property="ContentTemplate" Value="{StaticResource ErrorTemplate}" /> </DataTrigger> <DataTrigger Binding="{Binding IsRunning, ElementName=Root}" Value="False"> <Setter Property="Visibility" Value="Hidden" /> </DataTrigger> </ControlTemplate.Triggers> </ControlTemplate> <Style x:Key="CheckboxVisibilityStyle" TargetType="RadioButton"> <Style.Triggers> <DataTrigger Binding="{Binding IsRunning, ElementName=Root}" Value="True"> <Setter Property="Visibility" Value="Collapsed" /> </DataTrigger> </Style.Triggers> </Style> </UserControl.Resources> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="40" /> <ColumnDefinition /> </Grid.ColumnDefinitions> <RadioButton HorizontalAlignment="Center" VerticalAlignment="Center" IsChecked="False" Style="{StaticResource CheckboxVisibilityStyle}" /> <ContentControl Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center" Template="{StaticResource CheckBoxTemplate}" /> <TextBlock Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Center" Text="{Binding Text, ElementName=Root}" /> </Grid> </UserControl>