2

ファイルを選択するための[参照]ボタンと、選択したファイルへのパスを視覚化するためのテキストボックスを備えた小さなユーザーコントロールがあります。

<TextBox Text="{Binding FilePath, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<Button Content="Browse" cal:Message.Attach="SelectInstallationPointsFile" />

2つのボタンを備えたウィンドウとしてウィンドウダイアログから開始するコントロール-OKおよびCancelウィンドウリソーススタイル(コードの簡略化されたバージョン)で定義されたコントロール:

<Style TargetType="{x:Type Window}">
    ...
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Window}">
                ...
                <ContentControl Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" /> <!-- here will be the user control -->
                <Button IsDefault="True" Content="OK" cal:Message.Attach="Apply" />
                <Button IsCancel="True" cal:Message.Attach="Cancel" />
            ...
</Style>

ダイアログの表示(緑のセクション-ウィンドウ、赤-ユーザーコントロール):

緑のセクション-ウィンドウ、赤-ユーザーコントロール

問題は次のとおりです。ボタンをクリックしてから、ユーザーコントロールからボタンEnterに反応しますが、ウィンドウダイアログからのボタンには反応しません。BrowseOKOKIsDefault="True"

4

2 に答える 2

0

YourUserControl.xaml.cs内:

public partial class YourUserControl : UserControl
{
    public YourUserControl()
    {
        InitializeComponent();
        this.OkBtn.Focus();
    }
}

すみません、私のせいです、試してみてください:

<ControlTemplate TargetType="{x:Type Window}" FocusManager.FocusedElement="{Binding ElementName=OkBtn}">

于 2013-01-28T12:34:32.460 に答える
0

それで、「参照」ボタンで Focusable="False" を試してみたところ、うまくいきました!)

于 2013-01-28T13:31:56.657 に答える