相关疑难解决方法(0)

通过在WPF中单击来更改Label的行为以支持切换

有没有什么方法可以改变Label的行为来支持点击-in WPF切换?即,通过单击,"Selector.IsSelected"属性在"True"和"False"之间切换.问候.

wpf label toggle wpf-controls

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

以嵌套样式设置RenderTransform

我在Windows 8上使用.Net 3.5,使用默认的Aero主题.

这应该是Scale Checkbox的答案,没有扩展内容,但它没有像我预期的那样容易.我试着:

  1. 在复选框控件中缩放框
  2. 在一个样式中,所以我可以将更改应用于所有复选框(或仅一些)
  3. 独立于其文本,无需补偿.

我有一个UserControl与此资源:

<UserControl.Resources>
    <ResourceDictionary>
        <!-- ... -->

        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="../Resources/CheckBoxStyle.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</UserControl.Resources>
Run Code Online (Sandbox Code Playgroud)

Resources/CheckBoxStyle.xaml是这样的:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:primitives="clr-namespace:System.Windows.Controls.Primitives;assembly=PresentationFramework">
    <Style TargetType="{x:Type CheckBox}">
        <Style.Resources>
            <Style TargetType="{x:Type BulletDecorator}">
                <Setter Property="RenderTransform">
                    <Setter.Value>
                        <ScaleTransform ScaleX="2" ScaleY="2"/>
                    </Setter.Value>
                </Setter>
            </Style>
        </Style.Resources>
    </Style>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

primitives命名空间是什么我看中需要知道BulletDecorator是什么情况.

根据这个答案,我在这里的"默认WPF主题"链接后面的.Net 3.5的Aero主题中找到了BulletDecorator.

我看到我的复选框大小没有区别.我不认为我从主题中抓取了错误的元素类型,但还有什么可能发生?

编辑1:

BulletDecorator无论如何都包含复选框的内容,所以我尝试删除了#3的要求.现在我有一个巨大的盒子和巨大的文字,并希望缩小文本.这是CheckBoxStyle.xaml:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:primitives="clr-namespace:System.Windows.Controls.Primitives;assembly=PresentationFramework">
    <Style TargetType="{x:Type CheckBox}">
        <Style.Resources>
            <Style TargetType="{x:Type ContentControl}"> …
Run Code Online (Sandbox Code Playgroud)

wpf xaml styling .net-3.5

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

标签 统计

wpf ×2

.net-3.5 ×1

label ×1

styling ×1

toggle ×1

wpf-controls ×1

xaml ×1