我們有兩個的TextBlocks這樣的:(我們使用.NET FW 3.0)強制WPF控件刷新?
<TextBlock Grid.Column="0" Name="tabName" Style="{StaticResource textBlockBarStyle}" HorizontalAlignment="Left">
<TextBlock.Margin>
<Binding Converter="{StaticResource dpiConverter}">
<Binding.ConverterParameter>
<Thickness Left="3" Top="6" Right="0" Bottom="0"/>
</Binding.ConverterParameter>
</Binding>
</TextBlock.Margin>
</TextBlock>
和
<TextBox x:Name="txtBoxHelp"
IsReadOnly="True" Style="{DynamicResource txtBoxHelpStyle}"
IsTabStop="False"
Text="some text" MouseLeftButtonDown="txtBoxHelp_MouseLeftButtonDown">
<TextBox.Margin>
<Binding Converter="{StaticResource dpiConverter}">
<Binding.ConverterParameter>
<Thickness Left="7" Top="0" Right="0" Bottom="0"/>
</Binding.ConverterParameter>
</Binding>
</TextBox.Margin>
</TextBox>
這兩個的TextBlocks其它OS-ES工作得很好,但有時錯過在Windows XP帶有SP3的家庭版本。我們嘗試了很多方法來刷新這些,但失敗了。
我們嘗試:
- UpdateLayout請
- InvalidateVisual
- 改變了一套Text屬性在代碼中結合模式。
如何強制這些控件刷新?
(x作爲的UIElement).InvalidateMeasure() – 0x4f3759df 2011-11-08 17:55:45