bazı durumlarda çalışmaz. xaml dosyası:TemplateBinding Bu WPF bu sorunu yeniden nasıl
<Style TargetType="local:TestCustomControl">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:TestCustomControl">
<Grid>
<TextBlock Text="{TemplateBinding Text}"></TextBlock>
<TextBlock Text="{TemplateBinding Text}">
<TextBlock.RenderTransform>
<TranslateTransform X="{TemplateBinding OffSet}" Y="{TemplateBinding OffSet}"/>
<!--<TranslateTransform X="10" Y="10"/>-->
</TextBlock.RenderTransform>
</TextBlock>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
Sonra
ana penceresinde ekleyin:
<local:TestCustomControl OffSet="32" Text="the off set is not working" FontSize="36">
</local:TestCustomControl>
Ardından uygulamayı çalıştırın, "Metin" iyi çalışıyor ancak "OffSet" çalışmıyor. Ve benzer şey Windows Phone 7 geliştirme ortamında denedim ve aynı sonucu aldım.
OffSet'in çalışması için kodu nasıl değiştirmeliyim?
Teşekkür
"WPF 4.5 Unleashed" e göre, Nathan, Adam; 3. ed. c. 2014, s. 437, "Freeze" nin özellikleri üzerinde TemplateBinding kullanamazsınız. 'TranslateTransform' bir 'Freezeable', bu yüzden işe yaramadı ("TextBlock" bir "Freezeable" değil, bu yüzden orada işe yaradı). Şaşırtıcı olan, bunun bir çalışma zamanı (veya başka bir zaman) hatası olmamasıdır. Sadece sivri başarısız. –