0

奇妙なシナリオがあります。

コードビハインドで StackPanel を作成する必要があります。次に、そのスタックパネルを xaml の UI にバインドする必要があります。

通常、これには ContentControl を使用します。ただし、フォーカスの問題があります (タブ オーダーからブロックすることはできません Focusable="False" は効果がありません)。ユーザーコントロールも試しましたが、同じ問題がありました。

したがって、他の種類のコントロールを使用する必要があります。パネルを決めました。(StackPanel はどのパネルにも劣らないようです。)

しかし、Xaml で「コード内」スタック パネルにバインドする方法が見つからないようです。

これを行う方法はありますか?(コンテンツコントロールまたはユーザーコントロールを使用しない場合)

4

2 に答える 2

1

タブ オーダーからブロックすることはできません Focusable="False" は効果がありません

どうIsTabStopですか?

また、使用する最も軽量なものContentPresenterは、私が使用するものです。

于 2012-08-24T20:33:13.427 に答える
0

これを KAXAML でテストしたところ、TAB が押されたときに ContentPresenter または ContentControl で定義された項目のいずれにもフォーカスが移動しませんでした。

<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <StackPanel>
  <TextBox>aaaaa</TextBox>
  <TextBox>bbbbb</TextBox>
    <ContentControl Focusable="False">
    <ContentControl.ContentTemplate>
    <DataTemplate>
    <StackPanel Focusable="False" Background="Red" Width="100" Height="50"></StackPanel>
    </DataTemplate>
    </ContentControl.ContentTemplate>
    </ContentControl>
    <ContentControl Focusable="False">
    <ContentControl.ContentTemplate>
    <DataTemplate>
    <TextBox Focusable="False">hello</TextBox>
    </DataTemplate>
    </ContentControl.ContentTemplate>
    </ContentControl>
    <ContentPresenter Focusable="False">
    <ContentPresenter.Content>
    <TextBox Focusable="False">hello</TextBox>
    </ContentPresenter.Content>
    </ContentPresenter>
  <TextBox>ccccc</TextBox>
  <TextBox>ddddd</TextBox>
  </StackPanel>
</Page>
于 2012-08-24T20:35:03.323 に答える