我有一個<Image>
的WPF窗口,其<Rectangle>
作爲其子FrameworkElement。我想要的行爲是讓矩形上的中間鼠標按鈕在圖像上移動,並在<Rectangle>
或<Image>
上左右移動鼠標,以使矩形減小/增大。我有<Rectangle>
左右拖動的<Image>
工作,以及由矩形處理的左/右點擊。我怎麼能通過<Image>
來處理左/右MouseDown,所以我不必重複代碼來更改子項和父項中矩形的大小?如何在C#WPF中將孩子的MouseDown達到父級?
0
A
回答
0
在這裏,你可以做類似如下:
<Grid Background="Transparent" StackPanel.MouseDown="StackPanel_MouseDown">
<StackPanel Margin="70" Background="DarkGray" MouseDown="StackPanel_MouseDown">
<TextBlock x:Name="XTextBlock"></TextBlock>
</StackPanel>
</Grid>
後面的代碼:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void StackPanel_MouseDown(object sender, MouseButtonEventArgs e)
{
if (sender.GetType().Name.Equals("StackPanel"))
{
XTextBlock.Text = "I am direct raised from StackPanel.";
}
else //sender.GetType().Name.Equals("Grid")
{
XTextBlock.Text += "I am bubble raised from Grid.";
}
}
}
希望這將解決你的問題。
0
您可以通過如下使用PreviewMouseDown
利用路由事件隧道行爲:後邊
<Grid Background="Transparent" PreviewMouseDown="Grid_PreviewMouseDown">
<StackPanel Margin="70" Background="DarkGray" Grid.PreviewMouseDown="Grid_PreviewMouseDown">
<TextBlock x:Name="XTextBlock"></TextBlock>
</StackPanel>
</Grid>
代碼:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Grid_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
if (sender.GetType().Name.Equals("StackPanel"))
{
XTextBlock.Text += ", I am tunneled raised from StackPanel.";
}
else //sender.GetType().Name.Equals("Grid")
{
XTextBlock.Text = "I am direct raised from Grid.";
}
}
}
希望這將有助於。繼續編碼:)
0
要檢查按下哪個按鈕,可以使用MouseButtonEventArgs。 例如
if(e.ChangedButton == MouseButton.Left)
{
//do something
}
0
看看在Thumb控制。您可以輕鬆地設立了9個大拇指電網這樣的:
+--+-----------+--+
| | | |
+--+-----------+--+
| | | |
| | | |
| | | |
| | | |
| | | |
+--+-----------+--+
| | | |
+--+-----------+--+
指定適當的遊標每個拇指,並根據他們的位置實現了大拇指拖動事件。它比自己處理鼠標下移/上移/移動事件更強大。
相關問題
- 1. 當孩子MouseDown
- 2. 在jQuery中選擇父級的孩子
- 3. C程序 - 如何讓孩子的孩子PID在父[後叉]
- 4. 如何刪除孩子(Movieclip)並添加到新的父級(Movieclip)
- 5. 如何將孩子附加到具有相似屬性的父級?
- 6. 矩形的MouseDown拋父帆布MouseDown事件在WPF
- 7. 級聯爲delete-all-orphan時,如何在NHibernate中更改孩子的父級?
- 8. 如何在孩子的用戶控制連接按鈕父。 C#/ WPF
- 9. 如何顯示父級類別與第一級孩子(Drupal)?
- 10. 如何查找父級div,然後更改父級內孩子的屬性?
- 11. 當前父級的jQuery訪問孩子
- 12. Json父級值與嵌套的孩子
- 13. 有孩子的班級電話父班
- 14. 如何從孩子拖到父
- 15. 如何將一個孩子追加到兩個父母中?
- 16. 父母和孩子的叉()在C
- 17. 嵌套的CSS:如何到達孩子?
- 18. 將孩子鎖定到父控件
- 19. 如何根據父級的AlternateIndex設置孩子的風格?
- 20. C#如何達到wpf中的資源
- 21. 從父刪除一個孩子,並將其作爲同級添加到父
- 22. N孩子和祖父母或二級孩子
- 23. 根據孩子設置父級高度
- 24. 跳過孩子獲取父級 - JPA
- 25. 如何將孩子fxml的父母換成其他父母?
- 26. 如何使用querySelector而不是jQuery查找父級的孩子?
- 27. 如何繼承父級高度給它的孩子
- 28. 如何發送信號到孩子的孩子從父母收到信號後
- 29. 孩子父母一般皈依在C#
- 30. 如何將數據從孩子圖發送到它的父母在MATLAB中?
在我的情況下,稍微不同的是,我需要根據鼠標按鈕被按下來選擇性地處理孩子中的MouseDown。有沒有辦法解決這個問題? – user3583535