Selector.SelectedValue Property
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Gets or sets the value of the selected item, obtained by using the SelectedValuePath.
Assembly: System.Windows (in System.Windows.dll)
XMLNS for XAML: Not mapped to an xmlns.
<selector SelectedValue="valueAsString"/>
XAML Values
Property Value
Type: System.ObjectThe value of the selected item, obtained by using the SelectedValuePath, or Nothing if no item is selected. The default value is Nothing.
Dependency property identifier field: SelectedValueProperty
Getting the value of SelectedValue returns the value of the SelectedItem, using SelectedValuePath. For example, if you have a control derived from Selector that is bound to a collection of objects of type Employee, and Employee has two properties named EmployeeName and EmployeeNumber. You can set SelectedValuePath to "EmployeeNumber" to have SelectedValue return the value of EmployeeNumber.
The following example shows how to use the SelectedValuePath and SelectedValue properties with a ComboBox control. The DisplayMemberPath is set to the name of the displayed document, and the SelectedValuePath is set to the ID property. In this example, the ID for the selected item is simply displayed on the screen, but in a real application, you could use it to retrieve the selected object.
Public MyDocs As System.Collections.ObjectModel.ObservableCollection(Of Document) =
New System.Collections.ObjectModel.ObservableCollection(Of Document)
Public Sub New()
MyBase.New()
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
End Sub
End Class
' Simple business object.
Public Class Document
Private nameValue As String
Private guidValue As Guid
Public Sub New()
MyBase.New()
End Sub
Public Sub New(ByVal docName As String)
MyBase.New()
guidValue = Guid.NewGuid()
Name = docName
End Sub
Public Property Name As String
Get
Return nameValue
End Get
Set(ByVal value As String)
nameValue = value
End Set
End Property
Public Property ID As Guid
Get
Return guidValue
End Get
Set(ByVal value As Guid)
guidValue = value
End Set
End Property
End Class
<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>