[WPF] рамка вокруг Span
От: Аноним  
Дата: 22.12.11 07:06
Оценка:
Как нарисовать рамку вокруг Span'а, в котором лежат несколько Run'ов ?

 <Span>                      
    <Run Text="aaa" />
    <Run Text="bbb" />
    <Run Text="ccc" />
 </Span>
wpf
Re: [WPF] рамка вокруг Span
От: xShiFT Россия  
Дата: 22.12.11 07:38
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как нарисовать рамку вокруг Span'а, в котором лежат несколько Run'ов ?


<Border>
  <Span>                      
    <Run Text="aaa" />
    <Run Text="bbb" />
    <Run Text="ccc" />
  </Span>
</Border>
Re[2]: [WPF] рамка вокруг Span
От: Аноним  
Дата: 22.12.11 07:42
Оценка:
Здравствуйте, xShiFT, Вы писали:

SFT>Здравствуйте, Аноним, Вы писали:


А>>Как нарисовать рамку вокруг Span'а, в котором лежат несколько Run'ов ?


SFT>
SFT><Border>
SFT>  <Span>                      
SFT>    <Run Text="aaa" />
SFT>    <Run Text="bbb" />
SFT>    <Run Text="ccc" />
SFT>  </Span>
SFT></Border>
SFT>


сам проверил?
Re[2]: [WPF] рамка вокруг Span
От: Аноним  
Дата: 22.12.11 08:00
Оценка:
Здравствуйте, xShiFT, Вы писали:

SFT>Здравствуйте, Аноним, Вы писали:


А>>Как нарисовать рамку вокруг Span'а, в котором лежат несколько Run'ов ?


SFT>
SFT><Border>
SFT>  <Span>                      
SFT>    <Run Text="aaa" />
SFT>    <Run Text="bbb" />
SFT>    <Run Text="ccc" />
SFT>  </Span>
SFT></Border>
SFT>

это естественно не работает
Re: [WPF] рамка вокруг Span
От: vit_as Россия  
Дата: 22.12.11 08:26
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как нарисовать рамку вокруг Span'а, в котором лежат несколько Run'ов ?


А>
А> <Span>                      
А>    <Run Text="aaa" />
А>    <Run Text="bbb" />
А>    <Run Text="ccc" />
А> </Span>
А>



<Figure BorderThickness="1" BorderBrush="Red" >
                        <Paragraph>
                            <Span>
                                <Run Text="aaa" />
                                <Run Text="bbb" />
                                <Run Text="ccc" />
                            </Span>
                        </Paragraph>
                    </Figure>
Re[2]: [WPF] рамка вокруг Span
От: Аноним  
Дата: 22.12.11 09:39
Оценка:
Здравствуйте, vit_as, Вы писали:

_>Здравствуйте, Аноним, Вы писали:


А>>Как нарисовать рамку вокруг Span'а, в котором лежат несколько Run'ов ?


А>>
А>> <Span>                      
А>>    <Run Text="aaa" />
А>>    <Run Text="bbb" />
А>>    <Run Text="ccc" />
А>> </Span>
А>>



_>
_><Figure BorderThickness="1" BorderBrush="Red" >
_>                        <Paragraph>
_>                            <Span>
_>                                <Run Text="aaa" />
_>                                <Run Text="bbb" />
_>                                <Run Text="ccc" />
_>                            </Span>
_>                        </Paragraph>
_>                    </Figure>
_>


это выделит параграф целиком.
речь о том, что бы в тексте выделить несколько слов общей рамочкой, как это сделать?
Re: [WPF] рамка вокруг Span
От: Gremlin2 http://www.fb2library.net/
Дата: 23.12.11 10:09
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как нарисовать рамку вокруг Span'а, в котором лежат несколько Run'ов ?


А>
А> <Span>                      
А>    <Run Text="aaa" />
А>    <Run Text="bbb" />
А>    <Run Text="ccc" />
А> </Span>
А>


Если ещё актуально, то можно так

        <InlineUIContainer>
            <Border BorderThickness="1" BorderBrush="Red">
                <TextBlock >
                    <Span>                      
                            <Run Text="aaa" />
                            <Run Text="bbb" />
                            <Run Text="ccc" />
                    </Span>
                </TextBlock>
            </Border>
        </InlineUIContainer>
Re[2]: [WPF] рамка вокруг Span
От: MazurD  
Дата: 23.12.11 21:07
Оценка:
Здравствуйте, Gremlin2, Вы писали:
G>Если ещё актуально, то можно так
G>
G>        <InlineUIContainer>
G>            <Border BorderThickness="1" BorderBrush="Red">
G>                <TextBlock >
G>                    <Span>                      
G>                            <Run Text="aaa" />
G>                            <Run Text="bbb" />
G>                            <Run Text="ccc" />
G>                    </Span>
G>                </TextBlock>
G>            </Border>
G>        </InlineUIContainer>
G>


актуально, но это не подходит.
уточню вопрос — есть FlowDocument, в нем:
 <Span>                      
    <Run Text="aaa" />
    <Run Text="bbb" />
    <Run Text="ccc" />
 </Span>
 <Span>                      
    <Run Text="ddd" />
    <Run Text="eee" />
    <Run Text="fff" />
 </Span>
 <Span>                      
    <Run Text="ggg" />
    <Run Text="hhh" />
    <Run Text="jjj" />
 </Span>

как обвести рамкой любой из Span'ов ?
Re[3]: [WPF] рамка вокруг Span
От: MazurD  
Дата: 24.12.11 11:33
Оценка:
Здравствуйте, MazurD, Вы писали:

MD>Здравствуйте, Gremlin2, Вы писали:

G>>Если ещё актуально, то можно так
G>>
G>>        <InlineUIContainer>
G>>            <Border BorderThickness="1" BorderBrush="Red">
G>>                <TextBlock >
G>>                    <Span>                      
G>>                            <Run Text="aaa" />
G>>                            <Run Text="bbb" />
G>>                            <Run Text="ccc" />
G>>                    </Span>
G>>                </TextBlock>
G>>            </Border>
G>>        </InlineUIContainer>
G>>


MD>актуально, но это не подходит.

MD>уточню вопрос — есть FlowDocument, в нем:
MD>
MD> <Span>                      
MD>    <Run Text="aaa" />
MD>    <Run Text="bbb" />
MD>    <Run Text="ccc" />
MD> </Span>
MD> <Span>                      
MD>    <Run Text="ddd" />
MD>    <Run Text="eee" />
MD>    <Run Text="fff" />
MD> </Span>
MD> <Span>                      
MD>    <Run Text="ggg" />
MD>    <Run Text="hhh" />
MD>    <Run Text="jjj" />
MD> </Span>
MD>

MD>как обвести рамкой любой из Span'ов ?

никто не знает ?
Re[3]: [WPF] рамка вокруг Span
От: vit_as Россия  
Дата: 24.12.11 12:21
Оценка:
Здравствуйте, MazurD, Вы писали:


MD>
MD> <Span>                      
MD>    <Run Text="aaa" />
MD>    <Run Text="bbb" />
MD>    <Run Text="ccc" />
MD> </Span>
MD> <Span>                      
MD>    <Run Text="ddd" />
MD>    <Run Text="eee" />
MD>    <Run Text="fff" />
MD> </Span>
MD> <Span>                      
MD>    <Run Text="ggg" />
MD>    <Run Text="hhh" />
MD>    <Run Text="jjj" />
MD> </Span>
MD>

MD>как обвести рамкой любой из Span'ов ?

<Span>
      <Border BorderBrush="Red" SnapsToDevicePixels="True" BorderThickness="1">
            <TextBlock>
                <Run Text="aaa"/>
                <Run Text="bbb"/>
                <Run Text="ccc"/>
            </TextBlock>
       </Border>
</Span>

Второй вариант унаследоваться от Span и добавить в обработчик OnRender отрисовку рамки.
Re[4]: [WPF] рамка вокруг Span
От: MazurD  
Дата: 24.12.11 17:12
Оценка:
Здравствуйте, vit_as, Вы писали:
_>
_><Span>
_>      <Border BorderBrush="Red" SnapsToDevicePixels="True" BorderThickness="1">
_>            <TextBlock>
_>                <Run Text="aaa"/>
_>                <Run Text="bbb"/>
_>                <Run Text="ccc"/>
_>            </TextBlock>
_>       </Border>
_></Span>
_>

_>Второй вариант унаследоваться от Span и добавить в обработчик OnRender отрисовку рамки.

1. вариант с Border внутри Span выглядит как-то тяжеловесно, кроме того, этот кусок текста как бы приподнимается по сравнению с соседними
2. у Span, к сожалению, нет обработчика OnRender

да, а если рамка нужно из точек (dotted) ?
Re[4]: [WPF] рамка вокруг Span
От: MazurD  
Дата: 24.12.11 17:33
Оценка:
Здравствуйте, vit_as, Вы писали:
_>
_><Span>
_>      <Border BorderBrush="Red" SnapsToDevicePixels="True" BorderThickness="1">
_>            <TextBlock>
_>                <Run Text="aaa"/>
_>                <Run Text="bbb"/>
_>                <Run Text="ccc"/>
_>            </TextBlock>
_>       </Border>
_></Span>
_>


да, совсем этот вариянт не подходит — такой Span, с TextBlock внутри коряво/никак переносит слова в тексте (((((((
Re: [WPF] рамка вокруг Span
От: MazurD  
Дата: 26.12.11 17:43
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как нарисовать рамку вокруг Span'а, в котором лежат несколько Run'ов ?


А>
А> <Span>                      
А>    <Run Text="aaa" />
А>    <Run Text="bbb" />
А>    <Run Text="ccc" />
А> </Span>
А>


собственно удается сделать рамку вокруг Span, если там лежит один Run (или просто вокруг Run) в котором есть несколько слов, с помощью VisualBrush или ImageBrush установленных как кисть Background, но вот если в Span несколько Run'ов, то Background каждого закрашивается индивидуально — в этом промблема.
Может быть кто-нибудь знает решение ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.