6

日付編集 UserControl を作成しようとしていますが、6 つの可能なフォーカスを管理するのではなく単一の入力コンテキストが必要なため、TextBox ではなく TextBlock を使用しています。

フォーカスを受け入れるにはどうすればよいですか? Focusable を TRUE に設定しようとしましたが、十分ではないようです。他に何をしなければなりませんか?

4

1 に答える 1

7

KeyboardFocus要素に設定する必要があるようです

例:

<UserControl x:Class="MyControl"
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
       mc:Ignorable="d" 
       d:DesignHeight="300" d:DesignWidth="300"
       FocusManager.IsFocusScope="True"
       FocusManager.FocusedElement="{Binding ElementName=mytextBlock}">
    <Grid>
       <TextBox Name="mytextBlock" />
    </Grid>
</UserControl>

または分離コードで:

FocusManager.SetFocusedElement(this, mytextblock);
Keyboard.Focus(mytextblock);
于 2013-01-14T00:50:03.200 に答える