Привязка DataContext к прямоугольнику - PullRequest
0 голосов
/ 11 февраля 2012

У меня есть класс Student с 3 атрибутами (имя, фамилия, возраст).

В .xaml (в основном два прямоугольника, каждый из которых содержит 3 текстовых блока, привязанных к этим 3 атрибутам).

<Border  Grid.Column="0" Grid.Row="5" >
        <StackPanel Orientation="Horizontal">
                <Rectangle Width="16" Height="16" Name="rectangle1" />
                <TextBlock Text="{Binding Mode=TwoWay, Path=FirstName}"  Padding="2"/>
                <TextBlock Text="{Binding Mode=TwoWay, Path=LastName}" Padding="2"/>
                <TextBlock Text="{Binding Mode=TwoWay, Path=Age}" Padding="2"/>
        </StackPanel>
    </Border>
    <Border  Grid.Column="0" Grid.Row="6">
        <StackPanel Orientation="Horizontal">
            <Rectangle Width="16" Height="16"  Fill="{Binding Converter={StaticResource AvailabilityToBrushConverter1}, Path=IsAvailable}" Name="rectangle2"/>
            <TextBlock Text="{Binding Mode=TwoWay, Path=FirstName}"  Padding="2"/>
            <TextBlock Text="{Binding Mode=TwoWay, Path=LastName}" Padding="2"/>
            <TextBlock Text="{Binding Mode=TwoWay, Path=Age}" Padding="2"/>
        </StackPanel>
    </Border>

В .xaml.cs

Student student1 = new Student { FirstName = "James", LastName = "Peter", Age= 12 ,IsAvailable=true  };
Student student2 = new Student { FirstName = "Mark", LastName = "Smith", Age = 20 };

после InitializeComponent

InitializeComponent();     
DataContext = student1;

Когда я бегу, я получаю

Джеймс Питер 12
Джеймс Питер 12

Я хочу загрузить форму

Джеймс Питер 12
Марк Смит 20

Я пытался использовать это, но не сработало:

rectangle1.DataContext=student1;
rectangle2.DataContext=student2;

Как установить два разных значения для этих 2 прямоугольников?

1 Ответ

2 голосов
/ 11 февраля 2012

Rectangles do not содержит TextBlocks, в обоих случаях StackPanel вместо них следует установить DataContext вместо них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...