[WPF] Label с буквицей
От: Ummon Россия  
Дата: 09.08.11 06:31
Оценка: 8 (1)
Привет!

Каким образом можно откастомайзить лейбл или текстБлок, чтобы слева вверху была область под другой контрол, а текст огибал его?

P.S.: В гугле порылся немного, но найти не смог.
Re: [WPF] Label с буквицей
От: Codechanger Россия  
Дата: 09.08.11 06:41
Оценка:
Здравствуйте, Ummon, Вы писали:

U>Привет!


U>Каким образом можно откастомайзить лейбл или текстБлок, чтобы слева вверху была область под другой контрол, а текст огибал его?


U>P.S.: В гугле порылся немного, но найти не смог.


Картинку покажите того, что хотите.
Re[2]: [WPF] Label с буквицей
От: Sinix  
Дата: 09.08.11 07:14
Оценка:
Здравствуйте, Codechanger, Вы писали:

C>Картинку покажите того, что хотите.


Гуглится ч/з drop cap initial, она же :first-letter в CSS. Выглядит примерно так.

Первое, что приходит в голову — добавить Floater.
Re[2]: [WPF] Label с буквицей
От: Ummon Россия  
Дата: 09.08.11 07:16
Оценка:
Здравствуйте, Codechanger, Вы писали:

C>Картинку покажите того, что хотите.


Как-то так:
http://files.rsdn.ru/53071/wpf-control.png

  Скрытый текст
<StackPanel>
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="50" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>

        <Button Grid.Row="0" Grid.Column="0" Content="content" />
        <TextBlock TextWrapping="Wrap" Margin="4,4,4,0" 
                Text="ljskdhfjkxhfjkvhsdjkfhgslkjdhfvjkshdfjvkhskdjfvhjskhdfvkjshdkjfvhskjdhfvkjshdfvkjhskdjfvhskjdfhvkjshdfvkjshdfkjvhskjdfvhjskdhfvkjshdfvkjshdjkhsdjkfghjskdfhgkjshdkfjghsjkdfhgkjshdfkjghsdjkfghjskdfhgjkshdfjgkhsdkfjghskjdfhgkjshdfgsdfgsdfgsdfgsdfgsd"
                Grid.Row="0" Grid.Column="1" />
    </Grid>

    <TextBlock Text="ljskdhfjkxhfjkvhsdjkfhgslkjdhfvjkshdfjvkhskdjfvhjskhdfvkjshdkjfvhskjdhfvkjshdfvkjhskdjfvhskjdfhvkjshdfvkjshdfkjvhskjdfvhjskdhfvkjshdfvkjshdjkhsdjkfghjskdfhgkjshdkfjghsjkdfhgkjshdfkjghsdjkfghjskdfhgjkshdfjgkhsdkfjghskjdfhgkjshdfgsdfgsdfgsdfgsdfgsdfgsdfg"
                TextWrapping="Wrap"/>
</StackPanel>
Re: [WPF] Label с буквицей
От: Sinix  
Дата: 09.08.11 08:10
Оценка: 1 (1)
Здравствуйте, Ummon, Вы писали:

U>P.S.: В гугле порылся немного, но найти не смог.


Анналогично. Можно сделать вот так:
    <FlowDocumentScrollViewer>
      <FlowDocumentScrollViewer.Document>
        <FlowDocument>
          <Paragraph>
            <Floater HorizontalAlignment="Left"
                     FontSize="40"
                     Margin="0"
                     Padding="0,0,2,0">
              <Paragraph>П</Paragraph>
            </Floater>
            <Run FontSize="9" /> <!-- Добавляем пустую строку, чтобы "приподнять" буквицу -->
            <LineBreak />
            ривет! Каким образом можно откастомайзить лейбл или текстБлок,
            чтобы слева вверху была область под другой контрол, а текст огибал его?
          </Paragraph>

          <Paragraph>P.S.: В гугле порылся немного, но найти не смог.</Paragraph>
        </FlowDocument>
      </FlowDocumentScrollViewer.Document>
    </FlowDocumentScrollViewer>

но (на мой взгляд) все эти прыжки с расстановкой пустых строк для выравнивания floater-а выглядят страшновато.

Кто знает изящные решения — делитесь!
Re[2]: [WPF] Label с буквицей
От: Ummon Россия  
Дата: 09.08.11 09:11
Оценка:
Здравствуйте, Sinix, Вы писали:

S>но (на мой взгляд) все эти прыжки с расстановкой пустых строк для выравнивания floater-а выглядят страшновато.

S>Кто знает изящные решения — делитесь!

как вариант, но вообще я думал о чем-то вроде датаТемплейта, где можно было бы указать параметры шрифта для текста и (каким-то образом) подпихнуть контрол, который бы занимал место буквицы, а все выравнивания текста делались бы автоматически на основании размера подсунутого контрола.

P.S.: я в WPF новичек, если пишу какой-то какой-то бред, который в принципе невозможен — больно ногами не бейте
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.