2011-02-08 18 views
3

私はこの問題のコードソリューションしか見ていません。私はXAMLベースのソリューションを探していて、静かです.XAMLのUI要素に焦点を合わせることはできません。Silverlight 4を使用して、XAMLのUIElement(TextBox)にフォーカスを設定しますか?

私はこの古いMSDNの記事を見つけました:私は求め溶液(これはWPFでのみ、私は推測する)

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

は4Silverlightでテキストボックス/リストボックスにフォーカスを設定していたhttp://social.msdn.microsoft.com/Forums/en/wpf/thread/09dc837d-4485-4966-b45b-266727bbb90c

ことXAMLはできませんか?

答えて

1

私が知る限り、XAMLでは要素のフォーカスを設定する方法はありません。あなたが参照したようなものに頼らざるを得なくなります。私は、接続された動作(FocusManagerに似ています)が最適なルートだと思います。

+0

確認していただきありがとうございます。私はXAMLでこれを行う方法を見つけていないため、他の手段に頼らざるを得ません。 – RyBolt

7

XAMLには、十分な努力を重ねると常に方法があります。 :) Blend SDKのTriggerが必要です。あなたが本当に空想を取得したい場合は、することができますapply a condition to your trigger

<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"/> 

とXAMLでクレイジー物事のすべての種類を実行します。

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

     Target.Focus(); 
    } 
} 

は、次にそれをのようなものを使用します。私はこの種のことは組み込まれていないことに驚いていると言います。

関連する問題