标签: selecteditem

SelectedItem,SelectedValue和SelectedValuePath之间的区别

以下是有什么区别的:

所有这些依赖项属性都在Selector类中定义.我经常混淆SelectedItemSelectedValue,并SelectedValueSelectedValuePath.

我想知道它们之间的区别,并且当我们使用它们,尤其是SelectedValueSelectedValuePath.请用一些简单的例子解释它们的用法.

silverlight wpf xaml selectedvalue selecteditem

335
推荐指数
4
解决办法
23万
查看次数

数据绑定到WPF Treeview中的SelectedItem

如何检索在WPF树视图中选择的项目?我想在XAML中这样做,因为我想绑定它.

你可能会认为它SelectedItem显然是不存在的只是readonly因此无法使用.

这就是我想要做的:

<TreeView ItemsSource="{Binding Path=Model.Clusters}" 
            ItemTemplate="{StaticResource ClusterTemplate}"
            SelectedItem="{Binding Path=Model.SelectedCluster}" />
Run Code Online (Sandbox Code Playgroud)

我想绑定SelectedItem到我的模型上的属性.

但这给了我错误:

'SelectedItem'属性是只读的,不能通过标记设置.

编辑: 好的,这是我解决这个问题的方式:

<TreeView
          ItemsSource="{Binding Path=Model.Clusters}" 
          ItemTemplate="{StaticResource HoofdCLusterTemplate}"
          SelectedItemChanged="TreeView_OnSelectedItemChanged" />
Run Code Online (Sandbox Code Playgroud)

在我的xaml的codebehindfile中:

private void TreeView_OnSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
    Model.SelectedCluster = (Cluster)e.NewValue;
}
Run Code Online (Sandbox Code Playgroud)

c# wpf treeview selecteditem mvvm

231
推荐指数
9
解决办法
16万
查看次数

如何强制转换System.Windows.Controls.SelectedItemCollection?

我有一个方法:

private void DeletePuzzle(object param) 
{
}
Run Code Online (Sandbox Code Playgroud)

param是一个System.Windows.Controls.SelectedItemCollection,我从WPF ListViewSelectedItems财产得到的.

不知何故,我似乎无法将它从一个对象转换为任何有用的东西.我无法创建一个System.Windows.Controls.SelectedItemCollection因为它的保护级别,并且param不会转换为IList,ICollection或者IEnumerable.

我怎样才能遍历param的项目?

wpf selecteditem

59
推荐指数
1
解决办法
2万
查看次数

获取DataGrid WPF中的选定行项

我有一个DataGrid,绑定到Database表,我需要获取所选行的内容DataGrid,例如,我想在MessageBox所选行的内容中显示.

示例DataGrid:

在此输入图像描述

所以,如果我选择第二行,我MessageBox必须显示如下内容:646 Jim Biology.

wpf datagrid selecteditem

59
推荐指数
4
解决办法
20万
查看次数

WPF TreeView:如何设置带有圆角的选定项目,如在资源管理器中

WPF TreeView中的所选项目具有深蓝色背景和"尖锐"角.今天看起来有点过时了:

WPF选择具有或不具有焦点的TreeViewItem

我想改变背景,看起来像在Windows 7的资源管理器中(有/无焦点):

Explorer TreeViewItem已选中 选择没有焦点的Explorer TreeViewItem

我到目前为止所尝试的并没有删除原始的深蓝色背景,而是在它上面画了一个圆形边框,这样你就可以看到边缘和左边的深蓝色 - 丑陋.

在此输入图像描述

有趣的是,当我的版本没有焦点时,它看起来很不错:

在此输入图像描述

我想不要重新定义控件模板,如此处或此处所示.我想设置所需的最小属性,使所选项目在资源管理器中看起来像.

替代方案:我也很乐意将焦点选中的项目看起来像我现在所做的那样没有焦点.失去焦点时,颜色应从蓝色变为灰色.

这是我的代码:

<TreeView 
    x:Name="TreeView"
    ItemsSource="{Binding TopLevelNodes}" 
    VirtualizingStackPanel.IsVirtualizing="True"
    VirtualizingStackPanel.VirtualizationMode="Recycling">

    <TreeView.ItemContainerStyle>
        <Style TargetType="{x:Type TreeViewItem}">
            <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
            <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />

            <Style.Triggers>
                <Trigger Property="IsSelected" Value="True">
                    <Setter Property="BorderBrush" Value="#FF7DA2CE" />
                    <Setter Property="Background" Value="#FFCCE2FC" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </TreeView.ItemContainerStyle>

    <TreeView.Resources>
        <HierarchicalDataTemplate DataType="{x:Type viewmodels:ObjectBaseViewModel}" ItemsSource="{Binding Children}">
            <Border Name="ItemBorder" CornerRadius="2" Background="{Binding Background, RelativeSource={RelativeSource AncestorType=TreeViewItem}}"
                      BorderBrush="{Binding BorderBrush, RelativeSource={RelativeSource AncestorType=TreeViewItem}}" BorderThickness="1">
                <StackPanel Orientation="Horizontal" Margin="2">
                    <Image Name="icon" Source="/ExplorerTreeView/Images/folder.png"/>
                    <TextBlock Text="{Binding Name}"/> …
Run Code Online (Sandbox Code Playgroud)

wpf treeview xaml styles selecteditem

56
推荐指数
2
解决办法
5万
查看次数

在列表框中选择文本框项目不会更改列表框的选定项目

我有一个wpf列表框,显示一个文本框列表.当我单击文本框时,列表框选择不会更改.我必须单击TextBox旁边的以选择列表框项.是否需要为Textbox设置一些属性以将click事件转发到Listbox?

c# wpf xaml listbox selecteditem

45
推荐指数
4
解决办法
3万
查看次数

JavaFX TabPane:如何设置选定的选项卡

我有一个带有JavaFX 2的Java桌面应用程序,在我的FX中我有一个TabPane.我想设置默认选项卡.换句话说,我想将选项卡设置为选中.我发现有多种方法可以找出哪个选项卡被选中,setSelectionModel()但我找不到如何使用它.

TabPane tabPane = new TabPane();

Tab tab0 = new Tab("blue");
tab.setContent(new Rectangle(200,200, Color.BLUE));

Tab tab1 = new Tab("green");
tab.setContent(new Rectangle(200,200, Color.GREEN));

tabPane.getTabs().addAll(tab0, tab1);
Run Code Online (Sandbox Code Playgroud)

java tabs selecteditem javafx-2

44
推荐指数
2
解决办法
5万
查看次数

突出显示android中listview中的选定项目

我有一个列表视图contactslist.我编写了代码来突出显示所选项目ListView.这是工作.当我点击1项时,它突出显示该项目,但问题是如果我点击其他项目也突出显示该项目.我想只突出显示所选项目.当我点击另一个项目时,之前的选择将不复存在.

arg1.setBackgroundResource(R.drawable.highlighter);
Run Code Online (Sandbox Code Playgroud)

这是单击侦听器中用于突出显示所选项的代码.请帮助我.

更新
我正在设置适配器中行的背景:

public int[] colors = new int[]{0xFFedf5ff, 0xFFFFFFFF}; 
public int colorPos; 

[...]
colorPos = position % colors.length; 
row.setBackgroundColor(colors[colorPos]);
Run Code Online (Sandbox Code Playgroud)

android listview selecteditem

41
推荐指数
3
解决办法
8万
查看次数

android listview获取所选项目

我是android的新手,我有一个代码,我在列表视图中放置了按钮.我的清单是......

Number | Name | ID (visibility = gone) | Level | button1 | button2
Run Code Online (Sandbox Code Playgroud)

按钮1和按钮2的情况不同.我已经在按钮上应用了监听器,但是当我尝试从列表中获取ID时,它总是向我显示最后一个ID.

如何知道单击了哪个按钮,相关字段的名称和ID.

我在按钮上放置了按钮和监听器getView(...).

android listview selecteditem onclick

39
推荐指数
1
解决办法
13万
查看次数

获得组合框的选定值

public class ComboboxItem { 
            public string Text { get; set; } 
            public string Value { get; set; }
            public override string ToString() { return Text; } 
        }

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int selectedIndex = comboBox1.SelectedIndex;
            int selecteVal = (int)comboBox1.SelectedValue; 
            ComboboxItem selectedCar = (ComboboxItem)comboBox1.SelectedItem;
            MessageBox.Show(String.Format("Index: [{0}] CarName={1}; Value={2}", selectedIndex, selectedCar.Text, selecteVal));
        }
Run Code Online (Sandbox Code Playgroud)

我正在添加它们:

ComboboxItem item = new ComboboxItem();
                    item.Text = cd.Name;
                    item.Value = cd.ID;
                    this.comboBox1.Items.Add(item);
Run Code Online (Sandbox Code Playgroud)

我一直得到一个NullReferenceExeption,不知道为什么.文本似乎显示得很好.

c# combobox selectedvalue selectedindexchanged selecteditem

35
推荐指数
3
解决办法
25万
查看次数