gpt4 book ai didi

xaml - 将 Interaction.Behaviors 移至样式、模板或其他内容

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

我有很多 XAML TextBlock 看起来像这样:

<TextBlock Text="{Binding InspectionCount}" Style="{StaticResource FilterText}">
<i:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Tapped">
<core:InvokeCommandAction Command="{Binding SetModeToAll}" />
</core:EventTriggerBehavior>
</i:Interaction.Behaviors>
</TextBlock>

我想减少 XAML 代码的数量并编写如下内容:
<MyTextBlock Text="{Binding InspectionCount}" 
Style="{StaticResource FilterText}"
Command="{Binding SetModeToAll}" />

我只知道一种方法来做这样的事情 - 创建新类(从 TextBlock 继承),将 AttachedProperty(Command)添加到新类,并为新类创建样式。

但看起来我不能从 TextBlock 继承我的类:
public sealed class FilterTextBlock : TextBlock

Cannot inherit from sealed class TextBlock



为什么我做不到?可能还有其他方法可以做我想做的事吗?

最佳答案

我发现以下有效。并解决了很多地方的问题,我将开始回答,尝试以下!

<Page
x:Class="Example1.ListBoxTest"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Example1"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:i="using:Microsoft.Xaml.Interactivity"
xmlns:core="using:Microsoft.Xaml.Interactions.Core"
mc:Ignorable="d">

<Page.Resources>
<i:BehaviorCollection x:Key="behaviors">
<core:EventTriggerBehavior EventName="Tapped">
<core:InvokeCommandAction Command="{Binding SetModeToAll}" />
</core:EventTriggerBehavior>
</i:BehaviorCollection>

<Style TargetType="TextBlock" x:Key="textblockstyle">
<Setter Property="i:Interaction.Behaviors" Value="{StaticResource behaviors}">
</Setter>
</Style>
</Page.Resources>

<Grid x:Name="LayoutRoot" Background="Transparent">
<TextBlock Text="Testing" Foreground="Red" FontSize="20" Style="{StaticResource textblockstyle}">
</TextBlock >
</Grid>

奇怪的是,如果我在属性 i:Interaction.Behaviors 中设置行为不起作用,但以这种方式调用命令!!
请告诉我它对你也有效!

关于xaml - 将 Interaction.Behaviors 移至样式、模板或其他内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29591574/

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