私のWindowsユニバーサルプロジェクトでは、タイムエントリのコンボボックスがあります。三つのコンボボックスは、私は最終的に私のフォームの両方が設定できるようにしたいどのように気づくと「表示(...ここWindowsユニバーサルアプリケーションのコンボボックスバインド
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<ComboBox SelectedItem="{Binding Hour, Mode=TwoWay}" ItemsSource="{Binding HourList}"></ComboBox>
<ComboBox SelectedItem="{Binding Minute, Mode=TwoWay}" ItemsSource="{Binding MinuteList}"></ComboBox>
<ComboBox SelectedItem="{Binding Second, Mode=TwoWay}" ItemsSource="{Binding SecondList}"></ComboBox>
</StackPanel>
は私のViewModelにある...時、分、私のViewModelで第二のプロパティにバインドされていますタイム」プロパティ)....
public class TimeEntryViewModel : INotifyPropertyChanged
{
public bool Accept { get; set; }
public TimeEntryViewModel(DateTime time)
{
Time = time;
HourList = new ObservableCollection<string> { "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23" };
MinuteList = new ObservableCollection<string> { "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59" };
SecondList = new ObservableCollection<string> { "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59" };
}
public ObservableCollection<string> HourList { get; set; }
public ObservableCollection<string> MinuteList { get; set; }
public ObservableCollection<string> SecondList { get; set; }
private string _hour;
public string Hour {
get { return _hour; }
set
{
_hour = value;
OnPropertyChanged("Hour");
}
}
private string _minute;
public string Minute
{
get { return _minute; }
set
{
_minute = value;
OnPropertyChanged("Minute");
}
}
private string _second;
public string Second
{
get { return _second; }
set
{
_second = value;
OnPropertyChanged("Second");
}
}
public DateTime Time
{
get
{
return new DateTime(DateTime.Now.Year,
DateTime.Now.Month,
DateTime.Now.Day,
int.Parse(_hour), int.Parse(_minute), int.Parse(_second));
}
set
{
Hour = value.Hour.ToString("00");
Minute = value.Minute.ToString("00");
Second = value.Second.ToString("00");
}
}
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
if (this.PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
#endregion
}
問題は、私は私のViewModelに、コンボは自動的に時間を選択していない、分、秒で有効時間を設定していたとしても、私は最初のページを表示したときということです私が期待するように。彼らは値を表示しているだけで、私がそれらをドロップダウンすると、項目は選択されません。代わりにObservableCollections intをベースにしてみましたが、同じ結果が得られました。私はここで何が欠けていますか?
私はそれを試してみましたが、それはまだ私は怖い動作しません。 –