2014-02-14 83 views
4

我有兩個單選按鈕,我希望默認情況下選擇一個按鈕。我添加了IsChecked="true",但它不起作用。我也嘗試將它設置在窗口加載中。WPF單選按鈕IsChecked不工作

但是,當我點擊第二個選項,然後點擊第一個選項,一切工作正常。

它只是不顯示點擊第一次加載。

<StackPanel Orientation="Vertical" Margin="0 3 0 0" Height="55"> 
    <RadioButton IsChecked="True" Padding="1 1 0 10" Name="AutoSaveRadioButton"> 
     <TextBlock Foreground="Black">Auto Save Test File</TextBlock> 
    </RadioButton> 
    <RadioButton Margin="0 1 0 0" Padding="1 1 3 1" Name="SaveFileTogetherRadioButton"> 
     <TextBlock Foreground="Black">Save Test File &amp; <LineBreak /> output file together</TextBlock> 
    </RadioButton> 
</StackPanel> 
+0

我只是複製並粘貼您的XAML到一個新創建的WPF項目並運行它。第一個單選按鈕被選中,所以我無法重現您的問題。這是與.NET 4.0。 – Steve

+0

嗯。是的....好吧..我懷疑它與我使用的主題有關嗎?我正在使用我在wpf社區中找到的BureauBlack主題。 – Dave

+0

除非你發佈一些更多的信息,這裏沒有太多可以繼續。 – Shoe

回答

4

假設您使用的主題是this one,它看起來像一個主題錯誤。僅當IsChecked屬性更改爲False時,僅在線687上的Trigger纔會觸發,但模板的初始狀態未被檢查。

嘗試改變觸發扭轉行爲:

<Trigger Property="IsChecked" Value="True"> 
    <Trigger.ExitActions> 
     <BeginStoryboard Storyboard="{StaticResource CheckedOff}" /> 
    </Trigger.ExitActions> 
    <Trigger.EnterActions> 
     <BeginStoryboard Storyboard="{StaticResource CheckedOn}" /> 
    </Trigger.EnterActions> 
</Trigger>