前提・実現したいこと
VB.NETで使用できる独自オブジェクトを作りたいため、WPFユーザーコントロールDLLを作成しています。
まずは習作としてトグルボタンを1個だけ貼ったプロジェクトを作りました。
マウスClick、マウスDOWN、マウスUPのイベント動作を実装しましたが、
マウスClickのイベントはビルドも動作も問題なく出来たのですが、
マウスDOWN/UPの定義で警告になってしまいます。
そのせいか、イベントも発行されていないようです。
どこを直せばイベントが発行されるようになるでしょうか?
発生している問題・エラーメッセージ
重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 警告 BC40012 event 'KeyDown' は、ベース class 'UIElement' のメンバーと競合する 'KeyDownEvent' を暗黙的に宣言するため、event は 'Shadows' と宣言しなければなりません。 ColorButton C:\Users\-------\Documents\Visual Studio 2015\Projects\TglBtn\TglBtn\TglBtn.xaml.vb 17 アクティブ
該当のソースコード
<UserControl x:Class="TglBtn"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:TglBtn"
mc:Ignorable="d" Height="27" Width="100">
<Grid Margin="0,0,230,284">
<ToggleButton x:Name="CBtn" Content="ToggleButton" HorizontalAlignment="Left" Height="27" Margin="0,0,-100,-28" VerticalAlignment="Top" Width="100"/>
</Grid>
</UserControl>
VB.NET2015 Imports System.Windows.Forms Public Class TglBtn Event Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Event MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseEventArgs) Event MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseEventArgs) Private Sub CBtn_Click(sender As Object, e As RoutedEventArgs) Handles CBtn.Click RaiseEvent Click(sender, e) End Sub Private Sub CBtn_MouseDown(sender As Object, e As MouseButtonEventArgs) Handles CBtn.MouseDown RaiseEvent MouseDown(sender, e) End Sub Private Sub CBtn_MouseUp(sender As Object, e As MouseButtonEventArgs) Handles CBtn.MouseUp RaiseEvent MouseUp(sender, e) End Sub End Class
試したこと
警告メッセージにあるとおり、
Event MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseEventArgs)
の行に「Shadows」を付加して
Shadows Event MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseEventArgs)
と、したところ警告は消えたのですが、イベントは発行されていないようです。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/08 01:50