Я пытаюсь имитировать приложение Sticky Notes в Windows 7. В исходном приложении, если вы вводите текст в Sticky Note, и текст становится слишком большим (по вертикали, как в количестве строк), чтобы поместиться в окне,окно автоматически расширяется по одной строке за раз, чтобы освободить место.Другими словами, если в обычном текстовом поле появится вертикальная полоса прокрутки, а текст будет прокручиваться вниз (так что первая строка станет невидимой), в Sticky Notes текстовое поле расширяется настолько, чтобы соответствовать тексту, чтобы полоса прокрутки не появлялась.Конечно, полоса прокрутки по-прежнему появляется при последующем изменении размера окна вручную.
Если у вас Windows 7, просто откройте приложение Sticky Notes и введите несколько строк в заметку, пока она не увеличится.
Я пытаюсь имитировать этот эффект, но мне не везет.Проблема заключается в том, что реальное окно должно изменять размер, а не только текстовое поле (я не думаю, что WPF работает таким образом, что изменение размера дочернего элемента может «заставить» родительский элемент стать больше? По крайней мере, для окна,верно?).
Содержимое окна на данный момент таково:
<Window Background="Transparent" BorderBrush="Transparent">
<!-- Transparent border to draw dropshadow on -->
<Border Background="Transparent" BorderBrush="Transparent">
<!-- Grid with UI elements -->
<Grid Margin="5" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="27" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- Stickynote header -->
<Border ... />
<!-- Content -->
<Border Grid.Row="1">
<TextBox Text="{Binding ContentText}" ... />
</Border>
</Grid>
</Border>
</Window>
Кто-нибудь знает, как мне добиться этого эффекта?Спасибо!