RichTextBlockOverflow.IsTextTrimmedChanged 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
發生於 IsTextTrimmed 屬性值變更時。
// Register
event_token IsTextTrimmedChanged(TypedEventHandler<RichTextBlockOverflow, IsTextTrimmedChangedEventArgs const&> const& handler) const;
// Revoke with event_token
void IsTextTrimmedChanged(event_token const* cookie) const;
// Revoke with event_revoker
RichTextBlockOverflow::IsTextTrimmedChanged_revoker IsTextTrimmedChanged(auto_revoke_t, TypedEventHandler<RichTextBlockOverflow, IsTextTrimmedChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<RichTextBlockOverflow,IsTextTrimmedChangedEventArgs> IsTextTrimmedChanged;
function onIsTextTrimmedChanged(eventArgs) { /* Your code */ }
richTextBlockOverflow.addEventListener("istexttrimmedchanged", onIsTextTrimmedChanged);
richTextBlockOverflow.removeEventListener("istexttrimmedchanged", onIsTextTrimmedChanged);
- or -
richTextBlockOverflow.onistexttrimmedchanged = onIsTextTrimmedChanged;
Public Custom Event IsTextTrimmedChanged As TypedEventHandler(Of RichTextBlockOverflow, IsTextTrimmedChangedEventArgs)
<RichTextBlockOverflow IsTextTrimmedChanged="eventhandler"/>
事件類型
範例
在此範例中,我們會使用 RichTextBlock 和兩個 RichTextBlockOverflow 控件來建構三個數據行配置。 我們會將 RichTextBlock 的 TextTrimming 屬性設定為 CharacterEllipsis,並將其系結至第一個 RichTextBlockOverflow,然後系結至第二個 RichTextBlockOverflow。
調整視窗大小會導致數據行重設大小,這會觸發 IsTextTrimmedChanged 事件。
<StackPanel>
<Grid x:Name="ColumnGrid" Height="200">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<RichTextBlock Grid.Column="0" Margin="12,0"
OverflowContentTarget="{x:Bind firstOverflowContainer}"
TextAlignment="Justify" TextTrimming="CharacterEllipsis"
IsTextTrimmedChanged="RichTextBlock_IsTextTrimmedChanged">
<Paragraph>
Linked text containers allow text which does not fit in one element
to overflow into a different element on the page. Creative use of
linked text containers enables basic multicolumn support and other
advanced page layouts.
</Paragraph>
<Paragraph>
Duis sed nulla metus, id hendrerit velit. Curabitur dolor purus,
bibendum eu cursus lacinia, interdum vel augue. Aenean euismod
eros et sapien vehicula dictum. Duis ullamcorper, turpis nec
feugiat tincidunt, dui erat luctus risus, aliquam accumsan
lacus est vel quam. Nunc lacus massa, varius eget accumsan id,
congue sed orci. Duis dignissim hendrerit egestas. Proin ut
turpis magna, sit amet porta erat. Nunc semper metus nec magna
imperdiet nec vestibulum dui fringilla. Sed sed ante libero,
nec porttitor mi. Ut luctus, neque vitae placerat egestas,
urna leo auctor magna, sit amet ultricies ipsum felis quis
sapien. Proin eleifend varius dui, at vestibulum nunc
consectetur nec. Mauris nulla elit, ultrices a sodales non,
aliquam ac est. Quisque sit amet risus nulla. Quisque
vestibulum posuere velit, vitae vestibulum eros scelerisque
sit amet. In in risus est, at laoreet dolor. Nullam aliquet
pellentesque convallis. Ut vel tincidunt nulla. Mauris auctor
tincidunt auctor.
Aenean orci ante, vulputate ac sagittis sit amet, consequat at mi.
Morbi elementum purus consectetur nisi adipiscing vitae blandit
sapien placerat. Aliquam adipiscing tortor non sem lobortis
consectetur mattis felis rhoncus. Nunc eu nunc rhoncus arcu
sollicitudin ultrices. In vulputate eros in mauris aliquam id
dignissim nisl laoreet.
</Paragraph>
</RichTextBlock>
<RichTextBlockOverflow x:Name="firstOverflowContainer" Grid.Column="1" Margin="12,0"
IsTextTrimmedChanged="OverflowContainer_IsTextTrimmedChanged"
OverflowContentTarget="{x:Bind secondOverflowContainer}" />
<RichTextBlockOverflow x:Name="secondOverflowContainer" Grid.Column="2" Margin="12,0"
IsTextTrimmedChanged="OverflowContainer_IsTextTrimmedChanged"/>
</Grid>
</StackPanel>
namespace TextTrimming1
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private void RichTextBlock_IsTextTrimmedChanged(RichTextBlock sender, IsTextTrimmedChangedEventArgs args)
{
if (sender.IsTextTrimmed)
{
//do something
}
}
private void OverflowContainer_IsTextTrimmedChanged(RichTextBlockOverflow sender, IsTextTrimmedChangedEventArgs args)
{
if (sender.IsTextTrimmed)
{
ColumnGrid.Height += 100;
}
}
}
}
備註
如果 RichTextBlock/TextBlock 的 TextTrimming 屬性設定為 None (預設) ,則不會繪製修剪指標,而且不會引發 IsTextTrimmedChanged 事件。