質問

VSによって生成されたデフォルトのUserControlがあり、TextBlockのみが追加されます:

<UserControl x:Class="MyNameSpace.Presentation.MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Name="myControl">
    <Grid>
        <TextBlock x:Name="SomeTextBox" Text="SomeText"></TextBlock>
    </Grid>

今、このコントロールのいくつかのインスタンスを、コードビハインドから動的に親コントロールのWrapPanelに配置します。 MyControlインスタンスからの左マウスボタンクリックをすべて処理したい。次のコードがあります:

<UserControl x:Class="Minimo.Presentation.FirstParent"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Presentation="clr-namespace:Minimo.Presentation"
Height="300" Width="300">
<WrapPanel Name="wrapPanelOfMyControls" MyControl.MouseLeftButtonDown="WrapPanel1_OnMouseLeftButtonDown">
</WrapPanel>

イベントハンドラーでアクションを実行すると、動作します。ただし、XAMLファイルの編集時に次のエラーが表示されます。 タイプ 'MyControl'にアタッチ可能なプロパティ 'MouseLeftButtonDown'が見つかりませんでした。これを修正する方法は?

役に立ちましたか?

解決

これはXAMLコンパイラ/デザイナーのバグであり、無視しても問題ありません。ただし、「修正」できる場合があります。より詳細に認識しているタイプを指定することにより:

UIElement.MouseLeftButtonDown="WrapPanel1_OnMouseLeftButtonDown"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top