我正在使用 渲染文本FormattedText,但似乎确实有任何方法可以对渲染的输出执行每个字符的命中测试。它是只读的,所以我基本上只需要选择,不需要编辑。
我会使用RichTextBox或类似的,但我需要根据嵌入文本本身的控制代码输出文本,因此它们并不总是嵌套,这使得构建正确的内联元素非常复杂。我也有点担心该解决方案的性能;我有大量的行,并且经常添加新行。
我看过GlyphRun,看来我可以从它或相关的类中进行命中测试,但我会重新实现很多功能,而且似乎应该有一种更简单的方法......
有谁知道实现这个的好方法?
我一直在通过 Sells/Griffiths 的“Programming WPF”自学 WPF,我发现它是一个很好的资源,但我正在尝试采用他们向我介绍的一些概念并更进一步,我遇到了一个关于如何将各个部分组合在一起以完成我正在尝试做的事情的概念障碍。
在本练习中,我尝试创建自终止动画;FrameworkElement由 Events 创建的 s,执行动画,然后删除自身。我在弄清楚如何FrameworkElement从 animation.Completed 事件回调到父级时遇到问题。
我问这个问题最初只是使用未包含的DoubleAnimations 而不是Storyboard. 我已经添加了Storyboard, 并制作了Storyboard和 矩形资源,以便它们可以轻松重用。
这是我到目前为止所拥有的:
.xaml:
<Window.Resources>
<Storyboard x:Key="GrowSquare" x:Shared="False">
<DoubleAnimation Storyboard.TargetProperty="(Canvas.Top)" By="-50" Duration="0:0:2"/>
<DoubleAnimation Storyboard.TargetProperty="(Canvas.Left)" By="-50" Duration="0:0:2"/>
<DoubleAnimation Storyboard.TargetProperty="(Ellipse.Width)" By="100" Duration="0:0:2"/>
<DoubleAnimation Storyboard.TargetProperty="(Ellipse.Height)" By="100" Duration="0:0:2"/>
</Storyboard>
<Rectangle x:Key="MyRect" x:Shared="False" Width="20" Height="20">
</Rectangle>
</Window.Resources>
<Canvas x:Name="myCanvas" MouseMove="myCanvas_MouseMove" Background="White"/>
Run Code Online (Sandbox Code Playgroud)
。CS:
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
lastFire = DateTime.Now;
}
DateTime lastFire; …Run Code Online (Sandbox Code Playgroud) 我需要显示带有字体大小滑块和搜索按钮的FlowDocument.Scroll查看模式下的FlowDocumentReader正是我想要的,除了它总是显示垂直滚动条,而我只需要在它启用时显示它(内部ReaderScrollViewer的VerticalScrollBarVisibility是可见的,但我需要自动).我怎样才能实现这样的观点?
谢谢.
我想更改我的窗口模板,例如:
<Style x:Key="SilverGreenWindowStyle" TargetType="{x:Type Window}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid Background="{StaticResource SilverGreenBackground}" Width="503" Height="383">
<Rectangle Margin="192,86,21,119" Fill="{StaticResource SilverGreenRectangleBackground}" Width="200" Height="200"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
这会导致Windows控件变得不可见.如何让它们可见?
此XAML使文本在显示时淡入.
我想把这个功能放到Style中.
但是,但是我为"TargetName"添加了什么,因为样式不知道哪个元素将使用它?
如何将此淡入效果转换为样式?
<TextBlock Name="Message" Text="This is a test.">
<TextBlock.Triggers>
<EventTrigger RoutedEvent="TextBlock.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="Message"
Storyboard.TargetProperty="(TextBlock.Opacity)"
From="0.0" To="1.0" Duration="0:0:3"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>
Run Code Online (Sandbox Code Playgroud) 当我点击我的wpf应用程序中的按钮时,我想打开一个带有特定网址的新浏览器窗口(例如http://google.com ").怎么做?
我想将重点放在TextBoxWPF中的自定义文档内容中.我将所有可聚焦参数设置为true.不过,重点不在于TextBox.有什么想法或评论吗?
到目前为止,我添加了以下内容:
textbox.Focus();
textbox.SelectAll();
Run Code Online (Sandbox Code Playgroud)
到我的WPF页面的构造函数.
该TextBox是在Canvas里面DockPanel,而且个个都是的一部分custom:DocumentContent.
先感谢您,
假设我想展示一些Button和几个RadioButtons.根据RadioButton选择的内容,我想对我的应用采用不同的风格Button.这可能在WPF中吗?
我是WPF的新手.
假设我定义了一个int依赖属性.DP的目的是返回值+ 1(参见代码).在.Net 2.0中我会写:
private int _myValue = 0;
public int MyValue
{
get { return _myValue + 1; }
set { _myValue = value; }
}
Run Code Online (Sandbox Code Playgroud)
您如何声明实现类似行为的DP?
提供的强制仅适用于Set操作.我想修改Get结果.
在WPF中我希望有一个按钮,当它被点击时,它会打开或关闭一个Popup,具体取决于它是否已经打开(如果它已打开则关闭它,如果它已关闭则打开它),我想在XAML中完全执行此操作.这可能吗?
谢谢,
罗伊