gpt4 book ai didi

WPF - 将复选框复选标记更改为图像(或隐藏)

转载 作者:行者123 更新时间:2023-12-04 20:37:34 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to create a custom WPF XAML style for check box images

(2 个回答)


上个月关闭。




谁能知道是否有一种简单的方法可以通过图像替换复选框复选标记?
我有两个图像用于“已选中”和“未选中”复选框状态。我不知道如何使用它们而不是复选标记。
我还尝试用 StackPanel 替换内容并将 Image 和 TextBlock 放入其中。图像由触发器切换。它工作正常,但我不知道如何删除复选标记图标。
我在谷歌上搜索了很多,发现了大量 XAML(BulletDecorator 等)的复杂解决方案。我个人不喜欢让我的生活复杂化,我相信有一个更简单的解决方案。
Checkbox to change

最佳答案

您可以简单地定义自己的 ControlTemplateCheckbox ,您可以在其中显示图像而不是默认刻度。您可以找到默认的 ControlTemplateCheckboxCheckBox Styles and Templates MSDN 上的页面。

自己定义时ControlTemplate ,从默认值开始通常是个好主意。让它在你的项目中工作,然后你可以开始根据自己的喜好调整它。这样,它应该保留用户习惯的所有默认行为 Checkbox .

但这是我们在这里谈论的 WPF... 稍微横向思考,很容易使几个控件看起来像其他控件。例如,这里是 ToggleButton带自定义 ControlTemplate这使它看起来像 Checkbox ,但带有 Image当你点击它而不是正常的刻度线时,它会发生变化:

<ToggleButton Content="I'm An Image CheckBox Label" Foreground="Black">
<ToggleButton.Template>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<StackPanel Orientation="Horizontal">
<Image>
<Image.Style>
<Style>
<Setter Property="Image.Source"
Value="/AppName;component/Images/Image1.jpg" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked,
RelativeSource={RelativeSource AncestorType=
{x:Type ToggleButton}}}" Value="True">
<Setter Property="Image.Source"
Value="/AppName;component/Images/Image2.jpg" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
<ContentPresenter Content="{TemplateBinding Content}"
Margin="5,0,0,0" />
</StackPanel>
</ControlTemplate>
</ToggleButton.Template>
</ToggleButton>

将其转换为 CheckBox 也很容易因为它也使用 IsChecked属性...您甚至可以替换单词 ToggleButton 的所有实例。带字 Checkbox它应该工作。

关于WPF - 将复选框复选标记更改为图像(或隐藏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21614157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com