سؤال

ولدي قالب البيانات التي تستخدم في العديد من الصفحات، وقالب بيانات يحتوي على بضعة أزرار، أريد أن إخفاء بعض هذه الأزرار بواسطة مشغلات (أعني وضع ISENABLED الملكية من هذه الأزرار في الصفحة التي يمكنني استخدام هذه DataTemplate).

وبعبارة أخرى، أود أن حتى تريد تعيين في مشغلات أسلوب / اضعي خاصية "ButtonXIsEnabled '،' ButtonYIsEnabled" كجزء من DataTemplate القابل للتعيين من مربع القائمة حيث يمكنني استخدام هذا DataTemplate.

وأنا آمل حقا أنا واضح بما فيه الكفاية، يرجى ترك تعليق ل أي تفاصيل أخرى.

وأي مناقشة وسيتم تقدير حقا! يرجع الفضل في ذلك مسبقا.

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

المحلول

وأساسا هذا يعتمد على ما يعترض باستخدام لdatatemplate الخاص بك. بدلا من استخدام بعض ButtonYIsEnabled، ETCS. محاولة استخدام بعض الكلمات التي تناسب أفضل في لنموذج المجال.

وعلى سبيل المثال نقول لديك قائمة من العملاء، وبعض من هؤلاء العملاء لديهم القدرة على شراء منتجات بأسعار مخفضة. ثم إضافة خاصية إلى العملاء يسمى CanPurchaseDiscountedProducts الخاص بك، واستخدام تلك الخاصية في DataTemplate بك

<DataTemplate TargetType="{x:Type local:Customer}">
  <!-- Other Items -->
  <Button Content="Purchase Discounted Products" x:Name="discounts" Visibility="Hidden" />
  <DataTemplate.Triggers>
    <DataTrigger Binding="{Binding CanPurchaseDiscountedProducts}" Value="True">
      <Setter TargetName="discounts" Property="Visibility" Value="Visible"/>
    </DataTrigger>
  </DataTemplate.Triggers>
</DataTemplate>

نصائح أخرى

وقالب البيانات WPF نسخة من نوع كائن معين ... كيف تريد مثيل ObjectTypeX للنظر. قالب البيانات يمكن ربط الخصائص على سبيل المثال الأساسي.

وحتى إذا كان لديك عقار ButtonXIsEnabled على سبيل المثال، يمكنك ربط خاصية الرؤية زر المقابلة إلى الملكية سبيل المثال. سيتم عرض زر أو مخفية على أساس القيمة في الكائن الأساسي.

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