gpt4 book ai didi

xaml - 使用 Silverlight 4 将焦点设置到 XAML 中的 UIElement (即 TextBox )?

转载 作者:行者123 更新时间:2023-12-01 05:45:40 24 4
gpt4 key购买 nike

我只看到了这个问题的代码解决方案。我正在寻找基于 XAML 的解决方案,但我很惊讶您无法将焦点集中在 XAML 中的 UI 元素上。

我发现了这个旧的 MSDN 帖子:http://social.msdn.microsoft.com/Forums/en/wpf/thread/09dc837d-4485-4966-b45b-266727bbb90c

有我寻求的解决方案(我猜这只是 WPF)

<Grid FocusManager.FocusedElement="{Binding ElementName=listBox1}">

Silverlight 4 XAML 中无法将焦点设置到 TextBox/ListBox 吗?

最佳答案

如果您足够努力,XAML 中总有办法。 :) 您需要的是一个来自 Blend SDK 的 Trigger

public class FocusTrigger : TargetedTriggerAction<Control>
{
protected override void Invoke(object parameter)
{
if (Target == null)
return;

Target.Focus();
}
}

然后像这样使用它:

<Button Content="Move focus">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<local:FocusTrigger TargetName="TheTextBox"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<TextBox x:Name="TheTextBox"/>

如果你想变得非常花哨,你可以apply a condition to your trigger并在 XAML 中做各种疯狂的事情。我会说我很惊讶这种东西不是内置的。

关于xaml - 使用 Silverlight 4 将焦点设置到 XAML 中的 UIElement (即 TextBox )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4936204/

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