提交记录新增UI/Controls/TPage.cs+83 −0看文件
修改UI/Themes/Generic.xaml+1 −0看文件
新增UI/Themes/TPage.xaml+16 −0看文件
修改UI/UI.csproj+5 −0看文件
| @@ -0,0 +1,83 @@ | ||
| 1 | 新增:using System; | |
| 2 | 新增:using System.Collections.Generic; | |
| 3 | 新增:using System.Diagnostics; | |
| 4 | 新增:using System.Linq; | |
| 5 | 新增:using System.Text; | |
| 6 | 新增:using System.Threading.Tasks; | |
| 7 | 新增:using System.Windows; | |
| 8 | 新增:using System.Windows.Controls; | |
| 9 | 新增:using System.Windows.Media; | |
| 10 | 新增: | |
| 11 | 新增:namespace UI.Controls | |
| 12 | 新增:{ | |
| 13 | 新增: public class TPage : Page | |
| 14 | 新增: { | |
| 15 | 新增: /// <summary> | |
| 16 | 新增: /// 是否填充页面而不使用自适应滚动 | |
| 17 | 新增: /// </summary> | |
| 18 | 新增: public bool IsFillPage | |
| 19 | 新增: { | |
| 20 | 新增: get { return (bool)GetValue(IsFillPageDependencyProperty); } | |
| 21 | 新增: set { SetValue(IsFillPageDependencyProperty, value); } | |
| 22 | 新增: } | |
| 23 | 新增: public static DependencyProperty IsFillPageDependencyProperty = DependencyProperty.Register("IsFillPage", typeof(bool), typeof(TPage)); | |
| 24 | 新增: | |
| 25 | 新增: private PageContainer pageContainer; | |
| 26 | 新增: public TPage() | |
| 27 | 新增: { | |
| 28 | 新增: DefaultStyleKey = typeof(TPage); | |
| 29 | 新增: Loaded += TPage_Loaded; | |
| 30 | 新增: } | |
| 31 | 新增: | |
| 32 | 新增: private void TPage_Loaded(object sender, RoutedEventArgs e) | |
| 33 | 新增: { | |
| 34 | 新增: UpdatePageSize(); | |
| 35 | 新增: } | |
| 36 | 新增: | |
| 37 | 新增: public override void OnApplyTemplate() | |
| 38 | 新增: { | |
| 39 | 新增: base.OnApplyTemplate(); | |
| 40 | 新增: HandleEvent(); | |
| 41 | 新增: } | |
| 42 | 新增: | |
| 43 | 新增: private void HandleEvent() | |
| 44 | 新增: { | |
| 45 | 新增: if (pageContainer != null) | |
| 46 | 新增: { | |
| 47 | 新增: pageContainer.SizeChanged -= Pc_SizeChanged; | |
| 48 | 新增: } | |
| 49 | 新增: | |
| 50 | 新增: if (IsFillPage) | |
| 51 | 新增: { | |
| 52 | 新增: // 查找父容器 | |
| 53 | 新增: var parent = VisualTreeHelper.GetParent(this); | |
| 54 | 新增: if (parent != null) | |
| 55 | 新增: { | |
| 56 | 新增: while (!(parent is PageContainer)) | |
| 57 | 新增: { | |
| 58 | 新增: parent = VisualTreeHelper.GetParent(parent); | |
| 59 | 新增: } | |
| 60 | 新增: } | |
| 61 | 新增: | |
| 62 | 新增: pageContainer = parent as PageContainer; | |
| 63 | 新增: if (pageContainer != null) | |
| 64 | 新增: { | |
| 65 | 新增: pageContainer.SizeChanged += Pc_SizeChanged; | |
| 66 | 新增: } | |
| 67 | 新增: } | |
| 68 | 新增: } | |
| 69 | 新增: | |
| 70 | 新增: private void Pc_SizeChanged(object sender, SizeChangedEventArgs e) | |
| 71 | 新增: { | |
| 72 | 新增: UpdatePageSize(); | |
| 73 | 新增: } | |
| 74 | 新增: | |
| 75 | 新增: private void UpdatePageSize() | |
| 76 | 新增: { | |
| 77 | 新增: Width = pageContainer.ActualWidth; | |
| 78 | 新增: Height = pageContainer.ActualHeight; | |
| 79 | 新增: | |
| 80 | 新增: Debug.WriteLine("UpdatePageSize"); | |
| 81 | 新增: } | |
| 82 | 新增: } | |
| 83 | 新增:} | |
| @@ -15,6 +15,7 @@ | ||
| 15 | 15 | <ResourceDictionary Source="/Tai;component/Themes/Base/IconSelect.xaml"/> |
| 16 | 16 | <ResourceDictionary Source="/Tai;component/Themes/Base/ColorSelect.xaml"/> |
| 17 | 17 | |
| 18 | 新增: <ResourceDictionary Source="/Tai;component/Themes/TPage.xaml"/> | |
| 18 | 19 | <ResourceDictionary Source="/Tai;component/Themes/PageContainer.xaml"/> |
| 19 | 20 | <ResourceDictionary Source="/Tai;component/Themes/Charts/Charts.xaml"/> |
| 20 | 21 | <ResourceDictionary Source="/Tai;component/Themes/Charts/ChartsItemTypeA.xaml"/> |
| @@ -0,0 +1,16 @@ | ||
| 1 | 新增:<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |
| 2 | 新增: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |
| 3 | 新增: xmlns:local="clr-namespace:UI.Controls"> | |
| 4 | 新增: <Style | |
| 5 | 新增: TargetType="{x:Type local:TPage}"> | |
| 6 | 新增: <Setter Property="Template"> | |
| 7 | 新增: <Setter.Value> | |
| 8 | 新增: <ControlTemplate TargetType="{x:Type local:TPage}"> | |
| 9 | 新增: <Border Background="{TemplateBinding Background}"> | |
| 10 | 新增: <ContentPresenter Content="{TemplateBinding Page.Content}"/> | |
| 11 | 新增: </Border> | |
| 12 | 新增: </ControlTemplate> | |
| 13 | 新增: </Setter.Value> | |
| 14 | 新增: </Setter> | |
| 15 | 新增: </Style> | |
| 16 | 新增:</ResourceDictionary> | |
| 文件末尾没有换行 | ||
| @@ -177,6 +177,7 @@ | ||
| 177 | 177 | <Compile Include="Controls\SettingPanel\SettingPanel.cs" /> |
| 178 | 178 | <Compile Include="Controls\Tabbar\Tabbar.cs" /> |
| 179 | 179 | <Compile Include="Controls\Toggle\Toggle.cs" /> |
| 180 | 新增: <Compile Include="Controls\TPage.cs" /> | |
| 180 | 181 | <Compile Include="Controls\Window\ToastType.cs" /> |
| 181 | 182 | <Compile Include="Extensions\ListExtensions.cs" /> |
| 182 | 183 | <Compile Include="Librays\Image\Imager.cs" /> |
| @@ -404,6 +405,10 @@ | ||
| 404 | 405 | <SubType>Designer</SubType> |
| 405 | 406 | <Generator>MSBuild:Compile</Generator> |
| 406 | 407 | </Page> |
| 408 | 新增: <Page Include="Themes\TPage.xaml"> | |
| 409 | 新增: <SubType>Designer</SubType> | |
| 410 | 新增: <Generator>MSBuild:Compile</Generator> | |
| 411 | 新增: </Page> | |
| 407 | 412 | <Page Include="Themes\Window\DefaultWindow.xaml"> |
| 408 | 413 | <SubType>Designer</SubType> |
| 409 | 414 | <Generator>MSBuild:Compile</Generator> |

