标题说明了一切.有时似乎Name和x:Name属性是可以互换的.
那么,它们之间的确切差异是什么,何时优先使用一个而不是另一个?
以错误的方式使用它们是否有任何性能或内存影响?
我有两个控件,一个TextBlock和一个PopUp.当用户在文本块上单击(MouseDown)时,我想显示弹出窗口.我认为我可以在Popup上使用EventTrigger执行此操作,但我不能在EventTrigger中使用setter,我只能启动故事板.我想在XAML中严格执行此操作,因为这两个控件都在模板中,我不知道如何在代码中找到弹出窗口.
这是概念上我想做的,但不能,因为你不能把一个setter放在EventTrigger中(就像你可以使用DataTrigger):
<TextBlock x:Name="CCD">Some text</TextBlock>
<Popup>
<Popup.Style>
<Style>
<Style.Triggers>
<EventTrigger SourceName="CCD" RoutedEvent="MouseDown">
<Setter Property="Popup.IsOpen" Value="True" />
</EventTrigger>
</Style.Triggers>
</Style>
</Popup.Style>
...
Run Code Online (Sandbox Code Playgroud)
当事件发生在不同的控件上时,在XAML中严格显示弹出窗口的最佳方法是什么?