我正在製作一個帶有TextBlock指標的縮放控件(Slider),它可以告訴你當前的比例因子是(有點像在Word的右下角)。我有兩天的時間學習WPF,我已經能夠弄清楚如何去做大部分的事情,但是我覺得有一種更簡單的方法(一種可能只涉及XAML-端的代碼,而不是一束鼠標事件被捕獲。在懸停時更改TextBlock外觀的簡單方法?
我想用於當懸停(暗示可點擊)和點擊到滑塊元件復位到1.0加下劃線的文本。
這是我有:
<StatusBarItem Grid.Column="1" HorizontalAlignment="Right">
<Slider x:Name="mapCanvasScaleSlider" Width="150" Value="1" Orientation="Horizontal" HorizontalAlignment="Left"
IsSnapToTickEnabled="True" Minimum="0.25" Maximum="4" TickPlacement="BottomRight"
Ticks="0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 2.5, 3, 4"/>
</StatusBarItem>
<StatusBarItem Grid.Column="2">
<TextBlock Name="zoomIndicator" Text="{Binding ElementName=mapCanvasScaleSlider,Path=Value,StringFormat=0%}"
MouseDown="ResetZoomWindow" MouseEnter="zoomIndicator_MouseEnter" MouseLeave="zoomIndicator_MouseLeave"
ToolTip="Zoom level; click to reset"/>
</StatusBarItem>
private void ResetZoomWindow(object sender, MouseButtonEventArgs args)
{
mapCanvasScaleSlider.Value = 1.0;
}
private void zoomIndicator_MouseLeave(object sender, MouseEventArgs e)
{
zoomIndicator.TextDecorations = TextDecorations.Underline;
}
private void zoomIndicator_MouseLeave(object sender, MouseEventArgs e)
{
zoomIndicator.TextDecorations = null;
}
我覺得好像有一種更好的方式,通過XAML來做到這一點,而不是有三個獨立的.cs端功能。
似乎已經做的伎倆。更好的是,我甚至不需要使用邊框!我將用工作代碼編輯你的答案。 – Benjin