1

WPF 拡張ツールキットから DecimalUpDown コントロールの外観を変更しようとしていますが、そのテンプレートを作成しようとするたびに、実行時に NullReferenceException が発生します。

このリンクのテンプレートを使用してみました: https://social.msdn.microsoft.com/Forums/vstudio/en-US/304c5191-687f-47b9-8924-56816647e2b4/im-using-the-wpf-extended-toolkit -singleupdown-control?forum=wpf

それでもうまくいかなかったとき、私はできるだけ基本的にしようとしましたが、これを使用しました:

<Style TargetType="{x:Type etk:DecimalUpDown}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="etk:DecimalUpDown">
                <etk:ButtonSpinner
                    Name="PART_Spinner">
                    <etk:WatermarkTextBox
                        Name="PART_TextBox" />
                </etk:ButtonSpinner>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

しかし、私は両方とも NullReferenceException を受け取りました。スタック トレースは次のとおりです。

at Microsoft.Windows.Controls.Primitives.UpDownBase`1.OnApplyTemplate()
at System.Windows.FrameworkElement.ApplyTemplate()
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Window.MeasureOverrideHelper(Size constraint)
at System.Windows.Window.MeasureOverride(Size availableSize)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Interop.HwndSource.SetLayoutSize()
at System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)
at System.Windows.Interop.HwndSource.set_RootVisual(Visual value)
at System.Windows.Window.SetRootVisual()
at System.Windows.Window.SetRootVisualAndUpdateSTC()
at System.Windows.Window.SetupInitialState(Double requestedTop, Double requestedLeft, Double requestedWidth, Double requestedHeight)
at System.Windows.Window.CreateSourceWindow(Boolean duringShow)
at System.Windows.Window.CreateSourceWindowDuringShow()
at System.Windows.Window.SafeCreateWindowDuringShow()
at System.Windows.Window.ShowHelper(Object booleanBox)
at System.Windows.Window.Show()
at System.Windows.Window.ShowDialog()

テンプレートに必須のものが欠けているようですが、それが何であるかわかりません。誰でも助けることができますか?

また、すべてのアップ/ダウン コントロールに適用できるスタイルを定義する方法を教えていただければ (アプリでも IntegerUpDown も使用しています)、非常に感謝しています。

前もって感謝します

4

1 に答える 1

0

古いバージョンのツールキットを使用していました。最新バージョンをダウンロードした後、動作するようになりました。これを提案してくれた Tanis83 に感謝します。

于 2015-07-15T09:51:00.650 に答える