0

この問題は、作成したWPFユーザーユーザーコントロールライブラリをWPFブラウザーアプリで使用するときに発生します。

次のようにページに追加し、ユーザーコントロールへの参照をプロジェクトに追加しました

<Page x:Class="Page1"
  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:tools="clr-namespace:Visualisation;assembly=Visualisation"
  mc:Ignorable="d" 
  d:DesignHeight="600"
  d:DesignWidth="1100"
  Title="Page1">
<Grid Name="main">
    <tools:uc3dview Name="_View"></tools:uc3dview>
</Grid>
</Page>

次のエラーが発生します。

System.Reflection.TargetInvocationException was unhandled
Message: Exception has been thrown by the target of an invocation.

この正確なユーザーコントロールをWPFアプリケーションで使用する場合、問題はありません。

ユーザーコントロールライブラリがWPFアプリケーションと、さらに重要なことにWPFブラウザーアプリの両方で機能できるように、欠落しているコンストラクター表記がありますか。重要な場合は、VisualStudio2012を使用しています。

前もって感謝します。

4

1 に答える 1

0

私はついにそれを理解しました。ユーザーコントロールは、そのコントロールの1つにドロップシャドウ効果がありました。

<ScrollViewer.Effect>
            <DropShadowEffect/>
</ScrollViewer.Effect>

このxbapブラウザーアプリは部分信頼モードで実行されていたためです。コントロールがドロップシャドウ効果を実行する権限を取得しようとすると、エラーが発生しました。

ブラウザアプリを完全に信頼して実行するか、ドロップシャドウ効果をコメントアウトするだけで、問題が修正されます。

誰かがそれをよりよく説明できるなら。先に進んでください。

于 2013-02-26T04:14:57.727 に答える