sentjao (sentjao) wrote in gui_programming,
sentjao
sentjao
gui_programming

Вопрос

Я новичок в WPF. Вот какой вопрос. Есть ListView, в нем DataTemplate, который показывает данные из некоторого Xml. В Xml есть элементы с тремя аттрибутами: name, value и controlType. Для отображения аттрибута name у меня в темплэйте TextBlock, а для value должен быть или TextBox, или ComboBox, в зависимости от значения третьего аттрибута controlType. Как бы мне такое сделать?

Xml:

<elements>
<element name="ProjectProperty1" value="1" elementType="project" elementId="1" controlType="1"></element>
<element name="ProjectProperty2" value="2" elementType="project" elementId="1" controlType="2"></element>
<element name="ComponentProperty1" value="1" elementType="component" elementId="1" controlType="1"></element>
<element name="ComponentProperty2" value="2" elementType="component" elementId="1" controlType="2"></element>
</elements>

XAML:

<ListView Name="listView1"
Margin="-4,-26,3.90322580645159,0" Height="50" VerticalAlignment="Top" Grid.ColumnSpan="2">
<ListView.ItemTemplate>
<DataTemplate>
<Grid Name="gridInner" ShowGridLines="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120px"/>
<ColumnDefinition Width="40px"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Name="propertyName" Text="{Binding XPath=@name}" />
<TextBox Grid.Column="1" Name ="propertyValue"
Text="{Binding XPath=@value}" />

</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

Вот, там, где выделенный красным TextBox, должен быть иногда TextBox, а иногда ComboBox, в зависимости от значения аттрибута controlType в Xml.
Subscribe
  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments