سؤال

لدي مشروع SilverLight ModelViewModel الذي أود أن أعرض خاصية على نموذج العرض إلى UserControl مثل:

public DTO.Client Client
{
    get { return client; }
}

العميل هو متغير دعم خاص قمت بتعيينه في معالج الأحداث المكتملة ASYNC:

    void GetClientByIDComplete(object sender, GetClientByIDCompletedEventArgs e)
    {
        Application.Current.RootVisual.Dispatcher.BeginInvoke(() =>
        {
            DTO.Client c = new ServiceContract.DTO.Client();
            c = e.Result as DTO.Client;
            client = e.Result as DTO.Client;
        });
    }

في صفحتي Silverlight لدي ما يلي:

<TextBlock Text="{Binding Client.Name}"/>

البيانات مطلقا عرضها. يتم عرض البيانات إذا قمت بتغيير الخاصية إلى:

public DTO.Client Client
{
    get { 
          client.Name = "My Name";
          return client; }
}

وبهذه الطريقة أنا أعاني صراحة القيمة.

ما الذي يجب أن أغيره حتى يتم رؤية الخاصية من قبل صفحتي؟

هل كانت مفيدة؟

المحلول

هل تقوم بإعداد سياق البيانات بعد ملؤها العميل، أو من قبل؟

بعد ذلك يجب أن يتم عرضه بالتأكيد، من قبل، لن يعرف البيانات الأساسية التي تغيرت دون إضافة رمز إضافي، وتطبيق inotifypropertychanged بحيث يمكن أن تفهم الارتباطات أن البيانات قد تغيرت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top