هل من الممكن استخدام محول ضمن النمط؟
سؤال
هل من الممكن استخدام محول ضمن النمط؟ على سبيل المثال أنا أحاول أن إنشاء TextBlock
على غرار الذي إلى تغيير حجم يستند إلى خاصية ActualHeight
من TextBlock
النص. سوف يتم تغيير حجم عن طريق تحويل.
المحلول
نعم، هذا ممكن. على سبيل المثال:
<Style TargetType="TextBlock">
<Setter Property="FontSize">
<Setter.Value>
<Binding Path="ActualHeight" RelativeSource="{RelativeSource Self}">
<Binding.Converter>
<MyConverter/>
</Binding.Converter>
</Binding>
</Setter.Value>
</Setter>
</Style>
واعتمادا على السيناريو بالضبط، قد تكون ايضا قادرة على استخدام أكثر اقتضابا:
<Style TargetType="TextBlock">
<Setter Property="FontSize" Value="{Binding ActualHeight, RelativeSource={RelativeSource Self}, Converter={StaticResource MyConverter}}"/>
</Style>
نصائح أخرى
وتمكنت من الحصول على شيء مماثل للعمل باستخدام:
<Setter Property="Text">
<Setter.Value>
<Binding Path="CompanyName">
<Binding.Converter>
<conv:UppercaseConverter/>
</Binding.Converter>
</Binding>
</Setter.Value>
</Setter>
ونأمل أن يعمل لك أيضا.
ويان
وPS - COMPANYNAME هو اسم الخاصية ViewModel الفعلية كنت ربط textblock إلى
لا تنتمي إلى StackOverflow