Abbiamo due TextBlocks in questo modo: (abbiamo usato .NET FW 3,0)Forza un controllo WPF da aggiornare?
<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>
e
<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>
Questi due TextBlocks funzionano bene su altri OS-es, ma a volte manca in Windows XP Versione Home con SP3. Abbiamo provato molti modi per aggiornarli, ma non ci siamo riusciti.
Abbiamo provato:
- UpdateLayout
- InvalidateVisual
- Cambiato l'insieme di proprietà Text nel codice in modalità binding.
Come forzare questi controlli per l'aggiornamento?
(x come UIElement) .InvalidateMeasure() – 0x4f3759df