簡體   English   中英

Windows 8.1或Windows Phone 8.1中的ComboBox所選項目

[英]ComboBox selected item in windows 8.1 or windows phone 8.1

我有這樣的xaml:

<ComboBox x:Name="cbProvince1" HorizontalAlignment="Left" Margin="674,481,0,0" VerticalAlignment="Top" Width="236" TabIndex="10">
            <ComboBoxItem Content="Alberta"/>
            <ComboBoxItem Content="British Columbia"/>
            <ComboBoxItem Content="Manitoba"/>
            <ComboBoxItem Content="New Brunswick"/>
            <ComboBoxItem Content="Newfoundland and Labrador"/>
            <ComboBoxItem Content="Nova Scotia"/>
            <ComboBoxItem Content="Ontario"/>
            <ComboBoxItem Content="Prince Edward Island"/>
            <ComboBoxItem Content="Quebec"/>
            <ComboBoxItem Content="Saskatchewan"/>
        </ComboBox>

當我確實將selectedItem訪問到C#時,我無法獲取我寫為內容的字符串值

var value = cbProvince1.SelectedItem;

我無法在C#中獲得價值。

在此處輸入圖片說明

您需要引用Content屬性,而不是控件本身。 但是,當SelectedItem返回一個對象時,無需將其強制轉換為ComboBoxItem

string content = ((ComboBoxItem)cbProvince1.SelectedItem).Content.ToString();

您可以將其設置為string數組,然后再將SelectedItem設置為string類型,而不是使您的項目成為ComboBoxItem ,然后投射其內容。 這也適用於Int32Double和其他系統類型。

<ComboBox x:Name="cbProvince1" SelectedIndex="1" ...>
    <sys:String>Alberta</sys:String>
    <sys:String>British Columbia</sys:String>
    <sys:String>Manitoba</sys:String>
    <sys:String>New Brunswick</sys:String>
    <sys:String>Newfoundland and Labrador</sys:String>
    <sys:String>Nova Scotia</sys:String>
    <sys:String>Ontario</sys:String>
    <sys:String>Prince Edward Island</sys:String>
    <sys:String>Quebec</sys:String>
    <sys:String>Saskatchewan</sys:String>
</ComboBox>

您需要定義sys名稱空間

xmlns:sys =“ clr-namespace:System; assembly = mscorlib”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM