此主题尚未评级 - 评价此主题

Selector.SelectedValuePath 属性

2013/12/13

获取或设置用于获取 SelectedItem 属性的 SelectedValue 属性的属性路径。

Namespace:  System.Windows.Controls.Primitives
程序集:  System.Windows(位于 System.Windows.dll 中)
XMLNS for XAML: 未映射到 xmlns。
public string SelectedValuePath { get; set; }
<selector SelectedValuePath="propertyPath"/>

XAML 值

propertyPath

一个字符串,它被计算为到对象属性的简单的点语法路径。

属性值

类型: System.String
用于获取 SelectedItem 属性的 SelectedValue 属性的属性路径。默认值为 Empty

依赖项属性标识符字段: SelectedValuePathProperty

SelectedValuePath 用于指定 SelectedValue 属性返回何值。例如,如果您有派生自 Selector(绑定到类型 Employee 的对象的集合)的控件,且雇员有两个名为 EmployeeNameEmployeeNumber 的属性。您可以将 SelectedValuePath 设置为 "EmployeeNumber",以便让 SelectedValue 返回 EmployeeNumber 的值。

下面的示例演示如何用 ComboBox 控件来使用 SelectedValuePathSelectedValue 属性。DisplayMemberPath 设置为显示的文档的名称,且 SelectedValuePath 设置为 ID 属性。在此示例中,选定项的 ID 只是显示在屏幕上,但在实际的应用程序中,您可以使用它来检索选定的对象。


public partial class MainPage : PhoneApplicationPage
{

    public System.Collections.ObjectModel.ObservableCollection<Document> MyDocs =
        new System.Collections.ObjectModel.ObservableCollection<Document>();
    public MainPage()
    {
        InitializeComponent();

        // Add items to the collection.
        MyDocs.Add(new Document("How to: Use SelectedValuePath"));
        MyDocs.Add(new Document("DataGrid Overview"));
        MyDocs.Add(new Document("Windows Phone Designer Overview"));
        comboBox1.DataContext = MyDocs;
        textBlock2.DataContext = comboBox1;
    }
}

// Simple business object.
public class Document
{
    public Document() { }
    public Document(string docName)
    {
        ID = Guid.NewGuid();
        Name = docName;
    }
    public string Name { get; set; }
    public Guid ID { get; set; }

}



    <phone:PhoneApplicationPage x:Class="SelectedValuePath.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">
    <StackPanel x:Name="LayoutRoot" Background="Transparent" Height="312" Width="400">
        <ComboBox Height="23" ItemsSource="{Binding}" DisplayMemberPath="Name" 
                  SelectedValuePath="ID" 
                  HorizontalAlignment="Left" Margin="5" Name="comboBox1" 
                   Width="238" />
        <TextBlock Height="18" HorizontalAlignment="Left" Margin="5" 
                   Name="textBlock1" Text="Selected Value (GUID):"  Width="238" />
        <TextBlock Height="32" HorizontalAlignment="Left"  Name="textBlock2" 
                   Width="238" Text="{Binding SelectedValue}"/>
    </StackPanel>
</phone:PhoneApplicationPage>


Windows Phone OS

受以下版本支持: 8.0, 7.1

Windows Phone

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
显示:
© 2014 Microsoft. 版权所有。