C# 如何使用拇指使WPF弹出窗口可拖动?

C# 如何使用拇指使WPF弹出窗口可拖动?,c#,wpf,popup,draggable,C#,Wpf,Popup,Draggable,我在网上搜索了很长时间,很难找到这样一个例子。我已经看到了这方面的替代方法,但我想特别使用拇指。在尝试找出解决方案时,我一直无法正确使用功能,因为我对WPF相当陌生。如果有人能举个例子,说明你如何实施上述措施,我将不胜感激 欢呼声一个弹出窗口不会给你一个明显的移动方式;只能相对于其放置目标放置它。但是,它确实提供了相对于放置目标的偏移量和附加偏移量,这足以将其移动到任何位置 下面是一个只使用标记的解决方案,它演示了使用拇指的可拖动弹出窗口。有一个文本框,当文本框接收到键盘焦点时,会弹出一个弹出窗

我在网上搜索了很长时间,很难找到这样一个例子。我已经看到了这方面的替代方法,但我想特别使用拇指。在尝试找出解决方案时,我一直无法正确使用功能,因为我对WPF相当陌生。如果有人能举个例子,说明你如何实施上述措施,我将不胜感激


欢呼声

一个
弹出窗口
不会给你一个明显的移动方式;只能相对于其放置目标放置它。但是,它确实提供了相对于放置目标的偏移量和附加偏移量,这足以将其移动到任何位置

下面是一个只使用标记的解决方案,它演示了使用
拇指的可拖动
弹出窗口
。有一个文本框,当文本框接收到键盘焦点时,会弹出一个弹出窗口。弹出窗口有一些文本和一个拇指

<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:p="http://markupprogramming.codeplex.com/markup/programming"
    Height="300" Width="300">
    <Grid>
        <StackPanel>
            <TextBox x:Name="textBox1" Width="200" Height="20"/>
        </StackPanel>
        <Popup Name="popup" PlacementTarget="{Binding ElementName=textBox1}"
               IsOpen="{Binding IsKeyboardFocused, ElementName=textBox1, Mode=OneWay}">
            <StackPanel Orientation="Horizontal">
                <TextBlock Background="White" Text="Sample Popup content."/>
                <Thumb Name="thumb" Width="20" Height="20"/>
            </StackPanel>
            <p:Attached.Operations>
                <p:ScriptHandler Path="@FindElement('thumb').DragDelta">
                    @AssociatedObject.HorizontalOffset += @EventArgs.HorizontalChange;
                    @AssociatedObject.VerticalOffset += @EventArgs.VerticalChange;
                </p:ScriptHandler>
            </p:Attached.Operations>
        </Popup>
    </Grid>
</Window>

@AssociatedObject.HorizontalOffset+=@EventArgs.HorizontalChange;
@AssociatedObject.VerticalOffset+=@EventArgs.VerticalChange;

在.NET 3.5中使用标记编程有什么方法吗?