wpfextensionsに含まれるZoomControlで、デフォルトのズームレベルを1:1に設定する方法を知っている人はいますか?プロジェクトが最初に開始されるとき、デフォルトの動作は拡大することです。WPFExtensions.ZoomControlのデフォルトのズームを設定する方法
私はあなたがOriginal
にModeプロパティを設定するために持っているよう
wpfextensionsに含まれるZoomControlで、デフォルトのズームレベルを1:1に設定する方法を知っている人はいますか?プロジェクトが最初に開始されるとき、デフォルトの動作は拡大することです。WPFExtensions.ZoomControlのデフォルトのズームを設定する方法
私はあなたがOriginal
にModeプロパティを設定するために持っているよう
が見える、またはすることができます...両方が動作しませんでした
<zoom:ZoomControl Mode="Original">
と
<zoom:ZoomControl Zoom="1">
の両方を試してみましたZoomControlのLoadedイベントハンドラで明示的にZoomToOriginal
を呼び出します。
EqualityToBooleanConverterが例外をスローするように見えることもあります。
public class EqualityToBooleanConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return object.Equals(value, parameter);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
if ((bool)value)
return parameter;
//it's false, so don't bind it back
throw new Exception("EqualityToBooleanConverter: It's false, I won't bind back.");
}
}
あなたは代わりに、その例外を削除し、Binding.DoNothingを返却する必要があります:コードは次のようになります。コンバータはZoomControlのコントロールテンプレートで使用されている
は、そのよう:だから、効果的
<RadioButton Content="1:1"
GroupName="rbgZoomMode"
IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent},Path=Mode,Converter={StaticResource equalityConverter},ConverterParameter={x:Static Controls:ZoomControlModes.Original}}" />
<RadioButton Content="Fill"
GroupName="rbgZoomMode"
IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent},Path=Mode,Converter={StaticResource equalityConverter},ConverterParameter={x:Static Controls:ZoomControlModes.Fill}}" />
、値がtrueの場合にのみソースにバインドしようとしています。しかし、あなたが見たように例外がスローされます。
これを試してみてください。 ZoomControlの内容が変化しているので、おそらく動作していないでしょうか? –
@Brian - OnApplyTemplateのZoomToFillを呼び出すように見えるので、LoadedイベントハンドラでZoomToOriginalを呼び出す必要があります。 – CodeNaked
私はZoomControlのLoadedイベントのイベントハンドラを追加し、ハンドラにZoomToOriginalを呼び出しました。しかし、メッセージ "EqualityToBooleanConverter:例外はスローされます。これは間違いですが、私は元に戻りません。"それが何であるか、どんな考えですか? –