안녕하세요. 저는 Windows Phone 8 앱에서 작업 중입니다. 문제가 발생했습니다. 필자 피봇 항목에 일부 데이터를로드 중입니다. 사용자가 사용자 컨트롤을 탭하면 사용자 컨트롤을 통해 데이터가 수정됩니다. 데이터가 데이터베이스에 성공적으로 저장되고 있지만 피벗 항목이 즉시 업데이트되지 않습니다. 나는 관찰 가능한 수집을 다음과 같이 사용하고있다.xaml UI를 통해 데이터를 업데이트 한 후 피벗 항목의 데이터를 새로 고치는 방법은 무엇입니까?
ObservableCollection에 내가 mypivot.xaml.cs에서 다음과 같이 사용 내가 때라도으로 피벗 페이지 내 피벗 항목에
private void LoadWordbank()
{
List<MysecondWrapper> dbData = helper.FetchAllName(thisApp.CurrentName.Id);
if (dbData.Count != 0)
{
foreach (MySerconWrapper item in dbData)
{
saveinfo.Add(new MyWrapper { NameLocalId = item.Id.ToString(), Name= item.Name, NameDescription = item.Description, NameId = thisApp.CurrentName.Id});
}
}
}
mypivot.xaml 데이터를로드하고 다음과 같이 이제
ObservableCollection<MyWrapper> saveinfo = new ObservableCollection<MyWrapper>();
public ObservableCollection<MyWrapper> savedWordBankCollection
{ get { return saveinfo; } }
//MyWrapper class structure
public class MyWrapper: INotifyPropertyChanged
{
private string desc;
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyChange(PropertyChangedEventArgs e)
{
if (PropertyChanged != null)
PropertyChanged(this, e);
}
public string Name { get; set; }
public string NameDescription
{
get { return desc; }
set
{
desc = value;
NotifyChange(new PropertyChangedEventArgs("NameDescription"));
}
}
public string NameId { get; set; }
public string NameLocId { get; set; }
}
파일. 나는 전체 코드를 쓰고있는 것이 아니라 내가 보여주고있는 속성을 어떻게 할당 했는가? 위의 textblocks에서
<TextBlock x:Name="wordbankStored" Grid.Column="0" Grid.Row="0" Text="{Binding Name}"/>
<Button x:Name="btnWordDescription" Grid.Row="1" Grid.Column="0" Content="{Binding NameDescription}"
Tag="{Binding}" Click="btnNameDescription_Click"/>
내가 시도 :
Content="{Binding NameDescription, Mode=TwoWay}"
하지만 그래서 난 제거한 작동하지 않았다. btnNameDescription_Click 내 사용자 정의 컨트롤이 열리고 wp8의 로컬 db에 데이터를 저장할 수 있지만 즉시 내 피벗에 표시되지 않습니다. 무엇을 어떻게해야합니까? 나는 틀렸다. 도움이 필요하다.
ObservableCollection에 대한 NotifyChange가없는 이유는 무엇입니까? –
ObservableCollection에 대해 NotifyChnage를 사용하고 있습니다. 너는 볼 수있어. –