小编frt*_*num的帖子

WPF ToggleButton不正确的渲染行为

这里发生了什么,以及如何解决方法?

  1. 按MyToggleButton.现在它看起来像是立即按下(选中).
  2. 同时MyToggleButton_Checked处理程序禁用MyToggleButton.
  3. 现在按下非切换按钮'启用'.我们看到了什么?MyToggleButton看起来像是启用了.好.但是等等,现在它看起来像是非紧迫的!为什么?!

XAML:

<StackPanel>

    <ToggleButton x:Name="MyToggleButton" Content="MyToggleButton" Checked="MyToggleButton_Checked"/>

    <TextBlock Text="{Binding IsChecked, ElementName=MyToggleButton}" Margin="0,4"/>

    <Button Name="EnableButton" Content="Enable" Click="EnableButton_Click"/>
    <Button Name="DisableButton" Content="Disable" Click="DisableButton_Click"/>

</StackPanel>
Run Code Online (Sandbox Code Playgroud)

代码隐藏:

void MyToggleButton_Checked(object sender, RoutedEventArgs e)
{
    MyToggleButton.IsEnabled = false;
}


void EnableButton_Click(object sender, RoutedEventArgs e)
{
    MyToggleButton.IsEnabled = true;
}

void DisableButton_Click(object sender, RoutedEventArgs e)
{
    MyToggleButton.IsEnabled = false;
}
Run Code Online (Sandbox Code Playgroud)

UPD:

目前唯一可行的解​​决方法是:

void EnableButton_Click(object sender, RoutedEventArgs e)
{
    MyToggleButton.IsEnabled = true;

    var controlTemplate = MyToggleButton.Template;

    var buttonChrome = (Microsoft.Windows.Themes.ButtonChrome)controlTemplate.FindName("Chrome", MyToggleButton);

    buttonChrome.RenderPressed = false;

    buttonChrome.RenderPressed = …
Run Code Online (Sandbox Code Playgroud)

wpf togglebutton

3
推荐指数
1
解决办法
1247
查看次数

标签 统计

togglebutton ×1

wpf ×1