ما هو الفرق بين StaticResources وDynamicResources في برنامج الأغذية العالمي؟

StackOverflow https://stackoverflow.com/questions/1420471

سؤال

ما هو الفرق بين StaticResources وDynamicResources في برنامج الأغذية العالمي؟

وتحرير: هذا الكود في ملف XAML:

<ComboBox Canvas.Left="14" Style="{StaticResource ComboBoxStyle}"
          Canvas.Top="137" Height="33" Name="cmbItem" Width="170"
          SelectionChanged="cmbItem_SelectionChanged">
    <ComboBoxItem>Name</ComboBoxItem>
    <ComboBoxItem>Age</ComboBoxItem>
</ComboBox>

ورمز أدناه في ملف القاموس الموارد

<Style x:Key="ComboBoxStyle" TargetType="{x:Type ComboBox}">

    <Setter Property="FocusVisualStyle" Value="{StaticResource ComboBoxFocusVisual}"/>

    <Setter Property="Foreground" Value="#FF436B13"/>
</Style>
هل كانت مفيدة؟

المحلول

يتم تقييم

والموارد الحيوية عند استخدامها. يتم تقييم موارد ثابتة في وقت التحميل.

MSDN :

<اقتباس فقرة>   

عند استخدام ملحق الترميز، كنت   تقدم عادة واحد أو أكثر   المعلمات في شكل السلسلة التي هي   معالجتها من قبل أن علامات معينة   تمديد، بدلا من أن تقييم   في سياق الملكية الحاضر   جلس. وStaticResource توصيف   تمديد عمليات مفتاح من خلال النظر   تصل قيمة هذا المفتاح في كل   قواميس الموارد المتاحة. هذه   يحدث أثناء التحميل، الذي هو   نقطة في الوقت الذي كان فيه عملية التحميل   تحتاج إلى تعيين قيمة العقار   يأخذ مورد ثابت   مرجع. وDynamicResource توصيف   تمديد بدلا يعالج المفتاح بواسطة   خلق تعبير، وأن   يبقى التعبير unevaluated حتى   تشغيل التطبيق في الواقع، في   الوقت الذي يتم تقييم التعبير   ويوفر قيمة.

وهناك المزيد من التفاصيل الكثير هناك حول متى يجب عليك أن تختار الخيار الذي.

نصائح أخرى

ومن تعليقك أدناه الجواب جون ل:

<اقتباس فقرة>   

وأنا على الحصول على هذا الخطأ "لا يمكن العثور الموارد اسمه '{ComboBoxFocusVisual}'. أسماء الموارد لحالة حساسة. خطأ في الكائن 'cmbItem' في ملف العلامات"

وأعتقد أن أعلن الموارد ComboBoxFocusVisual بعد ComboBoxStyle، وبالتالي فإن تمديد StaticResource لا يمكن العثور عليه. يجب عليك إما نعلن ذلك قبل أن مرجع له، أو مرجع له مع ملحق DynamicResource

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