右、シナリオ上のクラッシュ:私は「DiaryControl」という呼ばれるユーザーコントロールを作成したキャンバス作品なので、ここではMAC
からinherites「DiaryPage」と呼ばれるクラスを作成しました
"DiaryPage"要素を含んでいます。ページの高さ、幅などがそうのようなすべてのデータバインドされています。
Width="{Binding DataContext.Info.Booktype, ConverterParameter=CoverWidth, Converter={StaticResource BookTypeToDimentionsConverter}, FallbackValue=490, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType=UserControl}}"
は今、それは、Silverlight 5を実行し、PC上で完璧に動作しますが、Mac上で実行されている同じコードは、次の例外を生成します。で
System.Windows.Application.LoadComponent(Objectコンポーネント、Uri resourceLocator)
Life.Views.Book.Framework.DiaryControl.InitializeComponent()
Life.Views.Book.Framework.DiaryControl..ctor()メソッドが見つかりません: 'Void System.Windows.FrameworkElement.add_DataContextChanged(System.Windows.DependencyPropertyChangedEventHandler)'。 Life.Views.Book.Framework.DiaryControl..ctorでLife.Views.Book.Framework.DiaryControl.InitializeComponentでSystem.Windows.Application.LoadComponent(オブジェクトコンポーネント、ウリresourceLocator)で
()
()指定されたバインディング制約に一致する 'Life.Views.Book.Framework.DiaryPageControl'型のコンストラクタの呼び出しで例外がスローされました。 指定されたバインディング制約に一致する 'Life.Views.Book.Framework.DiaryPageControl'タイプのコンストラクタの呼び出しで例外がスローされました。 [ライン:327ポジション:28]
[ライン327]は
上の任意のアイデアを指定したバインディング幅に対応しますか?
私はそうのような添付datacontextchangedリスナー持って私のDiaryPageクラスで:私は(5 PCのをテストしました)ウィンドウに魅力を動作しますが、(まあ、1はそのMac上で例外をスローし、言ったように
DataContextChanged += new DependencyPropertyChangedEventHandler(DiaryPageControl_DataContextChanged);
void DiaryPageControl_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if(DataContext != null && DataContext.GetType()== typeof(Page))
LoadContent();
}
を私は試しました)
私がテストしたmacはまだベータ版がありましたが、何らかの理由でこれがアップデートされたと仮定してyammerを更新してください。 – sLedgem
@sLedgem - その場合は、Htmlのオブジェクトタグもチェックする必要があります。 Silverlightプラグインの最小バージョンを指定できます。 –