首页 新闻 搜索 专区 学院

WPF ItemTemplate RadioButton

0
悬赏园豆:15 [待解决问题]

  <ListBox Grid.Row="0" Grid.Column="1" ItemsSource="{Binding   AvailableColors}" SelectedItem="{Binding SelectedColor}">
            <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapPanel Orientation="Horizontal" Margin="10"></WrapPanel>
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>
        
            <ListBox.ItemTemplate>
                <DataTemplate>
                   <RadioButton GroupName="colorSelecter" Background="{Binding}"></RadioButton>
                    
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

 

如上代码,在页面上显示一个Listbox,上面有一系列的颜色选择单选按钮。

现有如下问题,当选择某个单选按钮时,并没有触发SelectedColor改变即listbox认为当前选择的项目没有改变,但实际上我已经选择了别的单选按钮,请问怎样处理这种情况。

JustYong的主页 JustYong | 初学一级 | 园豆:7
提问于:2012-11-06 15:24
< >
分享
所有回答(3)
0

SelectedItem的绑定哪里用Mode=TwoWay?

暴力程序猿 | 园豆:296 (菜鸟二级) | 2012-11-09 18:26
0

数据模板不要用单选按钮,直接用个Border显示颜色就行了

<DataTemplate>
    <Border BorderThickness="1" BorderBrush="Black" Width="10" Height="10" Margin="1">
        <Border.Background>
            <SolidColorBrush Color="{Binding }"/>
        </Border.Background>
    </Border>
</DataTemplate>

火必烈 | 园豆:227 (菜鸟二级) | 2012-11-10 15:46
0

试试换成这样 <RadioButton GroupName="colorSelecter" Background="{Binding}" IsChecked="{Binding IsSelected, Mode=TwoWay}"

While蹒跚学步... | 园豆:59 (初学一级) | 2012-11-27 21:22

您好:谢谢你的回答,只是不知道IsChecked="{Binding IsSelected, Mode=TwoWay}":IsSelected是什么属性。

支持(0) 反对(0) JustYong | 园豆:7 (初学一级) | 2012-11-28 17:11

@JustYong: 试过有用吗 IsSelected就是listboxitem的是否被选中的属性

支持(0) 反对(0) While蹒跚学步... | 园豆:59 (初学一级) | 2012-11-28 21:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册