【问题标题】:WPF Canvas BindingWPF 画布绑定
【发布时间】:2011-01-31 16:30:59
【问题描述】:

我对 WPF 比较陌生,所以也许这是一个简单的问题。我有一个派生自 Canvas 的类,我们称之为 MyCanvas。我有一个类 MyClass,它有一个 MyCanvas 类型的属性。在 XAML 中,我构建了一个 TabControl,因此每个 TabItem 都绑定到一个 MyClass 对象。现在,在我想要显示 MyObject.MyCanvas 的每个选项卡的内容中。

我该怎么做?

<TabControl.ContentTemplate>
    <DataTemplate>
        <Grid>
            <myCanvas:MyCanvas  Focusable="true" Margin="10" >
                <Binding Path="Canvas"></Binding>
            </myCanvas:MyCanvas>
        </Grid>
    </DataTemplate>
</TabControl.ContentTemplate>

【问题讨论】:

    标签: c# wpf xaml binding canvas


    【解决方案1】:

    你应该使用 ContentPresenter

    <TabControl.ContentTemplate> 
        <DataTemplate> 
            <Grid> 
                <ContentPresenter Content="{Binding MyCanvas}" Focusable="true" Margin="10" />
            </Grid> 
        </DataTemplate> 
    </TabControl.ContentTemplate>
    

    【讨论】:

      【解决方案2】:

      尝试使用ContentPresenter 并将内容绑定到您想要的属性。如果该属性是Canvas 的后代,这应该会导致它只显示该内容。如果属性是另一种类型,它会尝试使用 DataTemplate 来呈现它。

      【讨论】:

      • 感谢您的正确答案,但我将 bniwredyc 标记为解决方案,因为它是第一个。
      • 而且更完整。不用担心...我一看到他的答案就投了赞成票。 :)
      猜你喜欢
      • 1970-01-01
      • 2011-01-20
      • 1970-01-01
      • 2014-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-20
      • 1970-01-01
      相关资源
      最近更新 更多