0

2つのテンプレートを持つカスタムUserControlがあります。最初のテンプレートのコントロールから2番目のテンプレートのコントロールにバインドする必要があります。

ターゲットコントロールに名前を付けようとすると、次のようになります。

要素'RichTextBox'にName属性値'TheRichTextBox'を設定できません。'RichTextBox'は、別のスコープで定義されたときにすでに名前が登録されている要素'CustomElement'のスコープの下にあります。

したがって、相対バインディングを使用する必要がありますが、私の唯一のオプションは、ビジュアルツリーを上または下に表示することです。
このシナリオに適した解決策はありますか?

    <local:CustomElement Title="CustomElementInstance" >
        <local:CustomElement.SubHeaderContainer>
            <StackPanel Orientation="Horizontal">
                <ToggleButton 
                          IsChecked="{Binding Path=KladblokEditingState}" 
                          Command="{Binding Path=UpdateKladblokCommand}" CommandParameter="{Binding TheRichTextBox????, Path=Document}"/>             
            </StackPanel>
        </local:CustomElement.SubHeaderContainer >

        <RichTextBox IsReadOnly="{Binding Path=KladblokEditingNotState}" 
                     local:RichTextBoxHelper.DocumentXaml="{Binding Path=Kladblok.KladblokDocument}" />
    </local:CustomElement>
4

0 に答える 0