سؤال

لديّ نص نص لسيطرة المستخدم التي تستخدم محولًا لعرض الأرقام. يتم تحميل هذا المحول في موارد في بداية التطبيق. الآن أرغب في تبادل هذا المحول مع آخر ، لعرض تنسيق مختلف ، اعتمادًا على معلمة في وضع التطبيقات. لسوء الحظ ، فإن استخدام الزناد فقط لا يعمل. هل من الممكن تحميل محول ديناميكيًا في التحكم في المستخدم ، ووضع مرجع عليه من blockplock؟

تحرير: ها هي محاولة الزناد:

<TextBlock>
       <TextBlock.Style>
                <Style>
                     <Style.Triggers>
                      <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type mycontrol}, AncestorLevel=1}, Path=mode}" Value="0">
                            <Setter Property="TextBlock.Text" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type cg:Fader}, AncestorLevel=1}, Path=Figure, Converter={StaticResource ConverterA}}"/>
                      </DataTrigger>
                      <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type mycontrol}, AncestorLevel=1}, Path=mode}" Value="1">
                            <Setter Property="TextBlock.Text" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type cg:Fader}, AncestorLevel=1}, Path=Figure, Converter={StaticResource ConverterB}}"/>
                      </DataTrigger>
                      </Style.Triggers>
                 </Style>
         </TextBlock.Style>
</TextBlock>
هل كانت مفيدة؟

المحلول

السبب وراء عدم عمل المشغلات في مثالك في الارتباطات. شاملة Style + DataTriggers هي مناسبة تماما لاختيار القالب الديناميكي.

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