1
我在那裏有四個單選按鈕WPF應用程序。如何改變控件的數據模板在運行時
我想改變這取決於正在檢查單選框列表視圖的內容。
我已經定義了數據模板,但無法找到它們分配給單選框選中事件列表視圖的方式。以下是數據模板。
<Window.Resources>
<DataTemplate x:Key="OneTimeDataTemplate">
<GroupBox Height="160" HorizontalAlignment="Left" Margin="104,23,0,0" Name="gbOneTime" VerticalAlignment="Top" Width="453">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="36*" />
<ColumnDefinition Width="418*" />
</Grid.ColumnDefinitions>
<DatePicker Height="25" HorizontalAlignment="Left" Margin="32,17,0,0" Name="datePicker1" VerticalAlignment="Top" Width="115" Grid.Column="1" />
<toolkit:TimePicker Height="28" Format="ShortTime" Margin="0,16,146,109" HorizontalAlignment="Right" Width="105" Grid.Column="1"></toolkit:TimePicker>
<Label Content="Start:" Height="28" HorizontalAlignment="Left" Margin="20,16,0,0" Name="lblOneTimeStart" VerticalAlignment="Top" Grid.ColumnSpan="2" />
<CheckBox Content="Active" Height="16" HorizontalAlignment="Left" Margin="278,21,0,0" Name="cbOneTimeActive" VerticalAlignment="Top" Grid.Column="1" />
</Grid>
</GroupBox>
</DataTemplate>
<DataTemplate x:Key="DailyDataTemplate">
<GroupBox Height="104" HorizontalAlignment="Left" Margin="105,21,0,0" Name="gbDaily" VerticalAlignment="Top" Width="448">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="36*" />
<ColumnDefinition Width="418*" />
</Grid.ColumnDefinitions>
<toolkit:TimePicker Format="ShortTime" Margin="13,7,0,63" Grid.Column="1" HorizontalAlignment="Left" Width="105" />
<toolkit:TimePicker Format="ShortTime" Margin="0,9,145,61" Grid.Column="1" HorizontalAlignment="Right" Width="105" />
<Label Content="From:" Height="28" HorizontalAlignment="Left" Margin="6,6,0,0" Name="lblDailyFrom" VerticalAlignment="Top" Grid.ColumnSpan="2" />
<Label Content="To:" Height="28" HorizontalAlignment="Left" Margin="122,8,0,0" Name="lblDailyTo" VerticalAlignment="Top" Grid.Column="1" />
<Label Content="Run every :" Grid.ColumnSpan="2" Height="28" HorizontalAlignment="Left" Margin="6,51,0,0" Name="lblDailyRunEvery" VerticalAlignment="Top" />
<Label Content="days" Height="28" HorizontalAlignment="Left" Margin="114,51,0,0" Name="lblDailyDays" VerticalAlignment="Top" Grid.Column="1" />
<TextBox Height="23" Text="1" HorizontalAlignment="Left" Margin="53,53,0,0" Name="textBox3" VerticalAlignment="Top" Width="53" Grid.Column="1" />
<CheckBox Content="Active" Height="16" HorizontalAlignment="Left" Margin="286,13,0,0" Name="cbDailyActive" VerticalAlignment="Top" Grid.Column="1" />
</Grid>
</GroupBox>
</DataTemplate>
<DataTemplate x:Key="WeeklyDataTemplate">
<GroupBox Height="160" HorizontalAlignment="Left" Margin="117,17,0,0" Name="gbWeekly" VerticalAlignment="Top" Width="436" Grid.ColumnSpan="2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="36*" />
<ColumnDefinition Width="418*" />
</Grid.ColumnDefinitions>
<toolkit:TimePicker Format="ShortTime" Grid.Column="1" HorizontalAlignment="Left" Margin="17,11,0,115" Width="105" />
<toolkit:TimePicker Format="ShortTime" Grid.Column="1" HorizontalAlignment="Right" Margin="0,13,141,115" Width="105" />
<Label Content="From:" Grid.ColumnSpan="2" Height="28" HorizontalAlignment="Left" Margin="10,10,0,0" Name="label4" VerticalAlignment="Top" />
<Label Content="Run every :" Grid.ColumnSpan="2" Height="28" HorizontalAlignment="Left" Margin="10,55,0,0" Name="label6" VerticalAlignment="Top" />
<Label Content="week on:" Grid.Column="1" Height="28" HorizontalAlignment="Left" Margin="98,55,0,0" Name="label7" VerticalAlignment="Top" />
<TextBox Grid.Column="1" Height="23" Margin="53,60,311,0" Name="textBox3" Text="1" VerticalAlignment="Top" />
<Label Content="To:" Height="28" HorizontalAlignment="Left" Margin="140,10,0,0" Name="label5" VerticalAlignment="Top" Grid.Column="1" />
<CheckBox Content="Monday" Height="16" HorizontalAlignment="Left" Margin="13,104,0,0" Name="checkBox1" VerticalAlignment="Top" Grid.ColumnSpan="2" />
<CheckBox Content="Tuesday" Height="16" HorizontalAlignment="Left" Margin="62,104,0,0" Name="checkBox2" VerticalAlignment="Top" Grid.Column="1" />
<CheckBox Content="Wednesday" Height="16" HorizontalAlignment="Left" Margin="140,104,0,0" Name="checkBox3" VerticalAlignment="Top" Grid.Column="1" />
<CheckBox Content="Thursday" Height="16" HorizontalAlignment="Left" Margin="221,104,0,0" Name="checkBox4" VerticalAlignment="Top" Grid.Column="1" />
<CheckBox Content="Sunday" Height="16" HorizontalAlignment="Left" Margin="140,131,0,0" Name="checkBox5" VerticalAlignment="Top" Grid.Column="1" />
<CheckBox Content="Friday" Grid.ColumnSpan="2" Height="16" HorizontalAlignment="Left" Margin="13,126,0,0" Name="checkBox6" VerticalAlignment="Top" />
<CheckBox Content="Saturday" Height="16" HorizontalAlignment="Left" Margin="62,131,0,0" Name="checkBox7" VerticalAlignment="Top" Grid.Column="1" />
<CheckBox Content="Active" Height="16" HorizontalAlignment="Left" Margin="303,15,0,0" Name="checkBox8" VerticalAlignment="Top" Grid.Column="1" />
</Grid>
</GroupBox>
</DataTemplate>
<DataTemplate x:Key="MonthlyDataTemplate">
<GroupBox Height="160" HorizontalAlignment="Left" Margin="134,34,0,0" Name="gbMonthly" VerticalAlignment="Top" Width="466" Grid.ColumnSpan="2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="36*" />
<ColumnDefinition Width="418*" />
</Grid.ColumnDefinitions>
<toolkit:TimePicker Format="ShortTime" Grid.Column="1" HorizontalAlignment="Left" Margin="17,11,0,115" Width="105" />
<toolkit:TimePicker Format="ShortTime" Grid.Column="1" HorizontalAlignment="Right" Margin="0,13,141,115" Width="105" />
<Label Content="From:" Grid.ColumnSpan="2" Height="28" HorizontalAlignment="Left" Margin="10,10,0,0" Name="lblMonthlyFrom" VerticalAlignment="Top" />
<Label Content="To:" Height="28" HorizontalAlignment="Left" Margin="140,10,0,0" Name="lblMonthlyTo" VerticalAlignment="Top" Grid.Column="1" />
<ComboBox Grid.Column="1" Height="23" HorizontalAlignment="Left" Margin="33,60,0,0" Name="cbMonths" VerticalAlignment="Top" Width="244">
<ComboBoxItem Content="January" DataContext="{Binding}" IsSelected="True" />
<ComboBoxItem Content="February" />
<ComboBoxItem Content="March" />
<ComboBoxItem Content="April" />
<ComboBoxItem Content="May" />
<ComboBoxItem Content="June" />
<ComboBoxItem Content="July" />
<ComboBoxItem Content="August" />
<ComboBoxItem Content="September" />
<ComboBoxItem Content="October" />
<ComboBoxItem Content="November" />
<ComboBoxItem Content="December" />
</ComboBox>
<Label Content="Months:" Grid.ColumnSpan="2" Height="28" HorizontalAlignment="Left" Margin="10,58,0,0" Name="label6" VerticalAlignment="Top" />
<ComboBox Grid.Column="1" Height="23" HorizontalAlignment="Left" Margin="33,94,0,0" Name="comboBox2" VerticalAlignment="Top" Width="244">
<ComboBoxItem Content="1" IsSelected="True" />
<ComboBoxItem Content="2" />
<ComboBoxItem Content="3" />
</ComboBox>
<Label Content="Days:" Grid.ColumnSpan="2" Height="28" HorizontalAlignment="Left" Margin="10,92,0,0" Name="label7" VerticalAlignment="Top" />
<CheckBox Content="Active" Height="16" HorizontalAlignment="Left" Margin="306,15,0,0" Name="checkBox1" VerticalAlignment="Top" Grid.Column="1" />
</Grid>
</GroupBox>
</DataTemplate>
</Window.Resources>