【发布时间】:2018-11-20 09:49:37
【问题描述】:
我在Textboxstyles.xaml 中有如下样式
<Style x:Key="EmptyItemsControlUsabilityDashboard2017Style" TargetType="ItemsControl">
<Style.Triggers>
<Trigger Property="HasItems" Value="false">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Control">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<Image Height="12" Width="12" Source="/YoLo;component/Resources/Images/link.png" Margin="0,3,0,0" />
<TextBlock x:Name="EmptyCollectionTextBox" Text="{x:Static UsabilityDashboard2017Loc:DashboardUsability2017Resource.lblNumNotDefined}"
Style="{StaticResource UsabilityDashboard2017TextBoxStyle}"
HorizontalAlignment="Center"
Margin="5,25,0,25"/>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
我已经在另一个 Xaml 文件中使用了它,如下所示
<ItemsControl ItemsSource="{Binding YoLoViewModelsCollection}" Name="YoLoViewModelsItemSource" Style="{StaticResource EmptyItemsControlUsabilityDashboard2017Style}">
现在它显示了一个文本框,该集合为空,但是如何在用户单击它执行命令的样式内的名为“EmptyCollectionTextBox”的文本块上设置命令绑定?
我已经看到了自定义命令,但不知何故它们不起作用。
【问题讨论】:
-
可能是this helps。
-
@dymanoid 感谢您的链接,但不是真的。我需要在 Style 中做到这一点
-
我看不到文本框。你是说文本块吗? TextBlock 没有命令属性,所以再一次;你想完成什么?
-
-
对不起,我不明白你的问题。默认情况下,TextBlock 不可点击,但您可以为其处理 MouseLeftButtonEvent。