in Xaml, Behaviors are searched for in the namespace NoesisApp, but registered in an anonymous namespace
Posted: 15 May 2019, 12:05
Code: Select all
class MouseWheelBehavior final: public NoesisApp::BehaviorT<Noesis::FrameworkElement>
{
public:
MouseWheelBehavior() = default;
~MouseWheelBehavior() = default;
protected:
Noesis::Ptr<Noesis::Freezable> CreateInstanceCore() const override;
void OnAttached() override;
void OnDetaching() override;
private:
void OnPreviewMouseWheel(BaseComponent* sender, const MouseWheelEventArgs& e);
private:
NS_DECLARE_REFLECTION(MouseWheelBehavior, NoesisApp::BehaviorT<Noesis::FrameworkElement>)
};
NS_IMPLEMENT_REFLECTION(MouseWheelBehavior)
{
NsMeta<TypeId>("MouseWheelBehavior");
}
Code: Select all
<DataTemplate x:Key="Template.MaterialGroup" DataType="{x:Type MaterialGroupComponent}">
<Grid>
<Rectangle Fill="{StaticResource MainAccentBrush}" Height="2" VerticalAlignment="Top" Margin="-4,-4,-4,0"></Rectangle>
<TreeView x:Name="tvNodes" ItemsSource="{Binding Childs, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" VerticalAlignment="Top"
ItemContainerStyle="{StaticResource MaterialTreeViewItemsStyle}" SnapsToDevicePixels="True"
Background="{StaticResource panelBgBrush}"
BorderThickness="0" BorderBrush="{StaticResource MainAccentBrush}" Margin="0,20,0,0"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<i:Interaction.Behaviors>
<ei:MouseWheelBehavior/>
</i:Interaction.Behaviors>
</TreeView>
</Grid>
</DataTemplate>