0
간단히 말해서 사용자가 버튼을 클릭하면 해당 내용이 코딩에 따라 변경되어야합니다. 여기에 코드가 있습니다. 나는 코드 바인딩 방식과 XAML 바인딩 방식을 모두 시도했다. 하지만 작동하지 않습니다.버튼 내용이 PropertyChanged 알림으로 업데이트되지 않았습니다.
<Button x:Name="Header" Content="{Binding listHeader}" Click="HeaderClick"/>
private string listHeader;
public string ListHeader
{
get { return listHeader; }
set
{
listHeader = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("listHeader"));
}
}
}
public Calendar()
{
this.selectedDate = DateTime.Now;
this.ListHeader = selectedDate.ToString("MMMM");
}
private void HeaderClick(object sender, RoutedEventArgs e)
{
switch (StateOfList)
{
case StatesOfList.ListOfDates:
{
this.listHeader = selectedDate.Year.ToString();
this.StateOfList = StatesOfList.ListOfMonths;
}
break;
case StatesOfList.ListOfMonths:
{
this.FillList(ListDataTypes.Years);
this.StateOfList = StatesOfList.ListOfYears;
}
break;
case StatesOfList.ListOfYears:
{
}
break;
}
}
이 작동하지 않습니다 준 솔루션입니다. 나는 그것이 왜 효과가 없는지에 대해 놀랍다. –
이렇게 변경하십시오. this.ListHeader = selectedDate.Year.ToString(); – Nitesh
안녕하세요! 모든 것이 올바르게 작동합니다. 내 말은 Visual Studio로 디버깅을 시도했는데 10 번 속성의 모든 e 값을 검사했음을 의미합니다. 의 값을 클릭하면 2013이 표시됩니다. 하지만 왜 렌더링하지 모르겠어요. –