我有一个TextBox。
我希望它处于Disabled状态,以便我可以拖动它。一旦我双击它,我希望它回到启用状态。
我可以为此目的使用ReadOnly属性。但是,如果我使用ReadOnly,那么我无法拖动TextBox,而是选择了。
我这样做的实际原因是我想使用TextBox作为TreeViewItem,我想使用拖放功能允许重命名和重新排列等功能。
如果有人可以建议我可以创建的自定义控件,并覆盖某些方法吗?
答案 0 :(得分:1)
我建议将TextBox包装在Grid中。并为TextBox设置IsHitTestVisible为false。这将避免TextBox的所有鼠标事件。现在将所有拖动事件挂钩到网格,它将起作用。
<Grid Background="Transparent" VerticalAlignment="Center">
<TextBox IsHitTestVisible="False" Margin="5" Text="Some text"/>
</Grid>