2015-07-15 11 views
1

Я пытаюсь изменить внешний вид элемента управления DecimalUpDown из WPF Extended Toolkit, но каждый раз, когда я пытаюсь создать шаблон для него, во время выполнения я получаю исключение NullReferenceException.WPF DecimalUpDown custom template 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 в своем приложении), то я был бы очень благодарен.

Заранее спасибо

+0

Попробуйте использовать x: Name = "PART_Spinner" вместо Name = "PART_Spinner". – user2250152

+2

Какую версию инструментария вы используете? –

+0

Привет, ребята. Я использовал старую версию инструментария. Я загрузил последнюю версию, и теперь она работает! Спасибо за помощь –

ответ

0

я использовал старую версию инструментария. После загрузки последней версии он теперь работает. Спасибо Tanis83 за это.

 Смежные вопросы

  • Нет связанных вопросов^_^