WPF Холст Переплет - PullRequest
       20

WPF Холст Переплет

3 голосов
/ 25 марта 2010

Я довольно новичок в 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>

Ответы [ 2 ]

5 голосов
/ 25 марта 2010

Вы должны использовать ContentPresenter

<TabControl.ContentTemplate> 
    <DataTemplate> 
        <Grid> 
            <ContentPresenter Content="{Binding MyCanvas}" Focusable="true" Margin="10" />
        </Grid> 
    </DataTemplate> 
</TabControl.ContentTemplate>
2 голосов
/ 25 марта 2010

Попробуйте использовать ContentPresenter и связать содержимое с нужным свойством. Если свойство является потомком Canvas, это должно привести к тому, что оно просто отобразит этот контент. Если свойство имеет другой тип, оно будет пытаться использовать DataTemplate для его отображения.

...