WPF界面设计
发布网友
发布时间:2022-04-23 13:22
我来回答
共3个回答
热心网友
时间:2023-10-15 11:20
其实这跟tabControl样式无关,跟tabItem样式有关。tabControl只是用来放tabItem和内容的容器。
用blend打开TabItem模板。去掉border的margin。去掉一些不必要的trigger值。调整下tabitem的padding属性使得留余地给三角。
假设
<Setter Property="Padding" Value="6,1,6,10"/>
然后在Grid里面加一个Pah
<Grid SnapsToDevicePixels="true">
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}">
<ContentPresenter x:Name="Content" ContentSource="Header" HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
</Border>
<Path x:Name="triPath" Data="M49,34 L56.5,16.5 64.5,33.5" Fill="blue" Visibility="Collapsed" HorizontalAlignment="center" Stretch="Fill" Stroke="Black" Width="20" Height="10" VerticalAlignment="Bottom"/>
</Grid>
最后在<Trigger Property="IsSelected" Value="true">里加
<Setter Property="Visibility" TargetName="triPath" Value="Visible"/>追问根据两位的观点,现在是需要滑动的,怎么弄,不过前面的我已经看懂了,谢谢啊
还有,我这几天刚看WPF,一边学,一边写,你的Path里用的那一串应该是微数据吧,这个怎么理解啊,还有,我发现我学Html的时候不懂css,学WPF不懂样式,虽然Setter那些的都知道,但是感觉用起来还是不怎么好,怎么办啊
追答微数据。。。其实你可以理解成坐标啦。不是自己手写的,任何牵涉外观定制的任务都交给blend去完成就可以了。做wpf一定要学会用blend的,自己到网上看看相关教程,step by step 慢慢研究。
热心网友
时间:2023-10-15 11:21
那个 白色三角形 使用 Path 与模板结合,可以做出来
热心网友
时间:2023-10-15 11:21
如果是滑动的话,需要放置在tab按钮容器外,如果不需要滑动效果做一个path即可。
1、需要滑动:需继承控件类,在tabchange事件中增加箭头移动的动画。
2、完。
热心网友
时间:2023-10-15 11:20
其实这跟tabControl样式无关,跟tabItem样式有关。tabControl只是用来放tabItem和内容的容器。
用blend打开TabItem模板。去掉border的margin。去掉一些不必要的trigger值。调整下tabitem的padding属性使得留余地给三角。
假设
<Setter Property="Padding" Value="6,1,6,10"/>
然后在Grid里面加一个Pah
<Grid SnapsToDevicePixels="true">
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}">
<ContentPresenter x:Name="Content" ContentSource="Header" HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
</Border>
<Path x:Name="triPath" Data="M49,34 L56.5,16.5 64.5,33.5" Fill="blue" Visibility="Collapsed" HorizontalAlignment="center" Stretch="Fill" Stroke="Black" Width="20" Height="10" VerticalAlignment="Bottom"/>
</Grid>
最后在<Trigger Property="IsSelected" Value="true">里加
<Setter Property="Visibility" TargetName="triPath" Value="Visible"/>追问根据两位的观点,现在是需要滑动的,怎么弄,不过前面的我已经看懂了,谢谢啊
还有,我这几天刚看WPF,一边学,一边写,你的Path里用的那一串应该是微数据吧,这个怎么理解啊,还有,我发现我学Html的时候不懂css,学WPF不懂样式,虽然Setter那些的都知道,但是感觉用起来还是不怎么好,怎么办啊
追答微数据。。。其实你可以理解成坐标啦。不是自己手写的,任何牵涉外观定制的任务都交给blend去完成就可以了。做wpf一定要学会用blend的,自己到网上看看相关教程,step by step 慢慢研究。
热心网友
时间:2023-10-15 11:21
那个 白色三角形 使用 Path 与模板结合,可以做出来
热心网友
时间:2023-10-15 11:21
如果是滑动的话,需要放置在tab按钮容器外,如果不需要滑动效果做一个path即可。
1、需要滑动:需继承控件类,在tabchange事件中增加箭头移动的动画。
2、完。