WPF Динамическое содержимое в ContentControl и его привязка
От: ssap092 Россия  
Дата: 08.07.12 18:32
Оценка:
Здравствуйте!

Подскажите пожалуйста, как грамотно организовать связь содержимого (Content) объекта унаследованного от ContentControl с одним из его свойств. Content хранится в отдельном файле и в зависимости от действий пользователя создается ContentControl на Canvas с тем или иным содержимым. Вот пример содержимого:

            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="39" />
                    <RowDefinition Height="73*" />
                    <RowDefinition Height="30" />
                </Grid.RowDefinitions>
                <Label Content="" Grid.Row="2" Margin="12,5,12,1" Name="label21" HorizontalContentAlignment="Center" />
                <Rectangle Margin="4,4,4,0" Name="rectangle21" Stroke="Black" Fill="#FFF55C45" Grid.RowSpan="2" />
                <Label Content="0.0" Margin="12,38,12,2" Name="label22" Foreground="White" FontSize="18" HorizontalContentAlignment="Center" Grid.RowSpan="2" VerticalContentAlignment="Center" />
                <Label Content="" FontSize="14" Foreground="White" HorizontalContentAlignment="Center" Margin="4,4,4,0" Name="label23" ClipToBounds="False" Background="#FFD13E55" BorderBrush="#FF000019" BorderThickness="1" VerticalContentAlignment="Center" />
            </Grid>


и таких несколько.

Вот так создается сам ContentContainer:


                DesignerItem newItem = null;
                Object content = XamlReader.Load(XmlReader.Create(new StringReader(dragObject.Xaml)));
                newItem = new DesignerItem();
                newItem.Content = content;


DesignerItem — это унаследованный от ContentContainer объект. dragObject.Xaml в данном случае содержит приведенную выше разметку. DesignerItem содержит свойство SomeText. Хотелось бы узнать, как привязать объект label23 разметки, чтобы он отображал это свойство. Заранее благодарен за ответы.
wpf contentcontrol
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.