1

以下のようにコンテンツ コントロールのコンテンツを設定すると、コンテンツ内の要素のバインディングが壊れます。

クラスのプロパティ内にコンテンツを指定し、そのプロパティをコンテンツとしてコンテンツ コントロールに設定しました。

[Xmal]
<Grid>
    <Button HorizontalAlignment="Center"
            VerticalAlignment="Top"
            Click="Button_Click_1"
            Content="Click" />
    <local:MyTile x:Name="mytile">
        <local:MyTile.TileViewContent>
            <StackPanel>
                <TextBox x:Name="text"
                         Background="Red"
                         Text="MyText" />
                <TextBox Text="{Binding ElementName=text, Path=Text,Mode=TwoWay}" />
            </StackPanel>
        </local:MyTile.TileViewContent>
    </local:MyTile>
    <ContentControl x:Name="contentcontrol" />
</Grid>
[C#]

    public partial class MainWindow : Window
    {
      public MainWindow()
      {
        InitializeComponent();
      }

      private void Button_Click_1(object sender, RoutedEventArgs e)
      {
       contentcontrol.Content =  mytile.TileViewContent;
      }
    }         

    public class MyTile:Control
    {
      public FrameworkElement TileViewContent
      {
        get { return (FrameworkElement)GetValue(TileViewContentProperty); }
        set { SetValue(TileViewContentProperty, value); }
      }

      public static readonly DependencyProperty TileViewContentProperty =
        DependencyProperty.RegisterAttached("TileViewContent", typeof(FrameworkElement), typeof(MyTile), new PropertyMetadata(null));
     }

コンテンツを設定すると、バインディングが機能しません。助けてください

4

1 に答える 1