3
我有一個帶有列表視圖的XAML代碼。現在我想用一個按鈕 更改CellTemplate,但沒有代碼。我怎樣才能做到這一點?使用不帶代碼的按鈕更改模板
模板:
<DataTemplate x:Key="URL" >
<TextBlock>
<Hyperlink NavigateUri="{Binding [email protected]}">
<TextBlock Text="{Binding [email protected]}"/>
</Hyperlink>
</TextBlock>
</DataTemplate>
<DataTemplate x:Key="Text">
<TextBlock Text="{Binding [email protected]}"/>
</DataTemplate>
<Grid>
<Grid.Resources>
<XmlDataProvider x:Key="Data">
<x:XData>
<Data xmlns="">
<Item ID="1" Desc="Google" URL="http://www.google.com" Acceptable="true"/>
<Item ID="2" Desc="StackOverflow" URL="http://www.stackoverflow.com" Acceptable="true"/>
<Item ID="3" Desc="4chan" URL="http://www.4chan.org" Acceptable="false"/>
</Data>
</x:XData>
</XmlDataProvider>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="300"/>
</Grid.ColumnDefinitions>
這裏是按鈕,其魔術應該發生,並設置從URLColumn的CellTemplate。 當我點擊這個按鈕時,我想讓Text爲CellTemplate。
<Button Grid.Column="0"
Name="Text"
Content="Text"/>
列表視圖與GridViewColumn URLColumn。我想改變它的CellTemplate。
<ListView
Grid.Column="1"
DataContext="{Binding Source={StaticResource Data}, XPath=/Data}"
ItemsSource="{Binding XPath=Item}">
<ListView.View>
<GridView>
<GridViewColumn Header="ID" DisplayMemberBinding="{Binding [email protected]}"/>
<GridViewColumn Header="Description" DisplayMemberBinding="{Binding [email protected]}"/>
<GridViewColumn x:Key="URLColumn" Header="URL" CellTemplate="{StaticResource URL}"/>
<GridViewColumn Header="Acceptable">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding [email protected]}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
這是沒有可能的代碼隱藏?如果是這樣,怎麼樣? 我已經搜索整個一天的互聯網,但無法找到anwser。
感謝您的幫助!
這一工程!非常感謝你!!! – Thomas