WPF 自下定义多指针标尺

Window2.xaml:

<Window x:Class="Test.Window2"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:Test"
        Title="Window2" Height="95" Width="540" SizeChanged="Window_SizeChanged">
    <Canvas>
        <Canvas.RenderTransform>
            <ScaleTransform x:Name="st" ScaleX="1" ScaleY="1"/>
        </Canvas.RenderTransform>
        <Grid x:Name="rootPanel">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <Border x:Name="bd" Width="525" HorizontalAlignment="Left" VerticalAlignment="Center" CornerRadius="10" BorderBrush="{Binding SBorderColor}" Background="Gray" Height="25" Margin="0,12,0,0">
                <Grid>
                    <local:CTick x:Name="cTick" Width="500" Margin="13,0,0,0" 
                     TickStartOffset="0" 
                     TickEndOffset="100"
                     SmallTickColor="White"
                     SmallTickHeight="4"
                     SmallTickWidth="1" 
                     BigTickColr="White"
                     BigTickWidth="2"
                     BigTickHeight="10"
                     BigTickInterval="10"  
                     TickPosition="{Binding TickPosition}"
                     Height="25"  HorizontalAlignment="Left" />
                    <Canvas x:Name="canvas"  Background="Transparent"
                    PreviewMouseMove="canvas_MouseMove"
                    PreviewMouseDown="canvas_MouseDown"
                    PreviewMouseUp="canvas_MouseUp"
                    Margin="0,-12,0,0">
                    </Canvas>
                </Grid>
            </Border>
            


            <Grid x:Name="textGrid" Grid.Row="1">
                <TextBlock Foreground="Gray" Text="{Binding TickStartOffset,ElementName=cTick}" HorizontalAlignment="Left" FontSize="12"/>
                <TextBlock Foreground="Gray" Text="{Binding TickValue}"  HorizontalAlignment="Center" FontSize="12"/>
                <TextBlock Foreground="Gray" Text="{Binding TickEndOffset,ElementName=cTick}" HorizontalAlignment="Right" FontSize="12"/>
            </Grid>
        </Grid>
    </Canvas>
</Window>

Windows2.xaml.cs:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace Test
{
    /// <summary>
    /// Window3.xaml 的交互逻辑
    /// </summary>
    public partial class Window2 : Window, INotifyPropertyChanged
    {
        private string indicatorData = @"M9.25,0.5 C14.082492,0.5 18,4.4175086 18,9.25 18,9.778554 17.953135,10.296162
                                      17.863335,10.798895 L17.824804,11 18,11 17.735048,11.393641 17.724527,11.436762
                                      C17.221001,13.393811 16.057436,15.085929 14.485265,16.261684 L14.432655,16.300055 9.25,24
                                      4.0673442,16.300055 4.0147352,16.261684 C2.4425645,15.085929 1.2789996,13.393811
              0.77547324,11.436762 L0.76495099,11.393641 0.5,11 0.67519581,11 0.63666546,10.798895
              C0.54686475,10.296162 0.5,9.778554 0.5,9.25 0.5,4.417
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值