View Full Version : سوال: ساخت فرم بیس
Mori Bone
چهارشنبه 30 مهر 1393, 09:27 صبح
سلام خدمت همه دوستان. وقت بخیر
چطوری می تونم یه فرم اصلی و بیس درست کنم و همهی فرم هام رو از اون ارث بری کنم.
مثلا من همه ی فرم هام این ویژگی هارو دارند.
MouseLeftButtonDown="Window_MouseLeftButtonDown"
Background="{x:Null}"
AllowsTransparency="True"
WindowStyle="None"
BorderThickness="0"
ResizeMode="NoResize"
یا همه ی فرم هام می خوام یه title پیشفرض به صورت زیر داشته باشند.
124815می خوام برای هر فرم این قابلیت رو بزارم که وقتی مشخصه title عوض شد. اون متن وسط هم عوض بشه.
پیشاپیش ممنون:چشمک:
birtemp
چهارشنبه 30 مهر 1393, 21:16 عصر
این کد رو تو یه فایل Resource اضافه کنید حل میشه
<Style TargetType="{x:Type Window}">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}"/>
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<Border Padding="5" Height="Auto" Width="Auto">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="ValidationStates"/>
</VisualStateManager.VisualStateGroups>
<Border Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" Height="Auto" Width="Auto">
<Border.Effect>
<DropShadowEffect ShadowDepth="0" Color="#FF404040" Opacity="0.3" BlurRadius="7"/>
</Border.Effect>
<Grid Background="{TemplateBinding Background}">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<AdornerDecorator Grid.RowSpan="1" Grid.Row="1">
<ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}"/>
</AdornerDecorator>
<Grid x:Name="titlebar" HorizontalAlignment="Left" Height="30" Margin="0" VerticalAlignment="Top" Width="260" Background="#00000000" MouseLeftButtonDown="titlebar_MouseLeftButtonDown" RenderTransformOrigin="0.5,0.5" Tag="{Binding RelativeSource={RelativeSource AncestorType={x:Type Window}}}" FlowDirection="RightToLeft">
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleY="1" ScaleX="-1"/>
<SkewTransform AngleY="0" AngleX="0"/>
<RotateTransform Angle="0"/>
<TranslateTransform/>
</TransformGroup>
</Grid.RenderTransform>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="26"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
<Button x:Name="close" Content="Î" HorizontalAlignment="Stretch" Height="Auto" Margin="6,7,0,3" VerticalAlignment="Stretch" Width="Auto" FontFamily="Wingdings 2" FontSize="16" Style="{DynamicResource bt_titlebar}" Click="close_Click" Tag="{Binding RelativeSource={RelativeSource AncestorType={x:Type Window}}}" Grid.Column="2"/>
<Button x:Name="minimize_Copy" Content="-" Grid.Column="3" HorizontalAlignment="Stretch" Height="Auto" Margin="5,7,4,3" VerticalAlignment="Stretch" Width="Auto" FontFamily="/Sendous System Repair;component/Fonts/#SimHei" FontSize="18.667" Style="{DynamicResource bt_titlebar}" Click="minimize_Click" Tag="{Binding RelativeSource={RelativeSource AncestorType={x:Type Window}}}"/>
</Grid>
</Grid>
</Border>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="ResizeMode" Value="CanResizeWithGrip">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
<Grid>
<AdornerDecorator>
<ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}"/>
</AdornerDecorator>
<ResizeGrip x:Name="WindowResizeGrip" HorizontalAlignment="Right" IsTabStop="False" Visibility="Collapsed" VerticalAlignment="Bottom"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="ResizeMode" Value="CanResizeWithGrip"/>
<Condition Property="WindowState" Value="Normal"/>
</MultiTrigger.Conditions>
<Setter Property="Visibility" TargetName="WindowResizeGrip" Value="Visible"/>
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
rg_BlackRose
پنج شنبه 01 آبان 1393, 15:20 عصر
سلام
توصیه میکنم فیلم روش ساخت فرم با استایل دلخواه، توسط آقای مهدی فرزاد رو ببینید.(پست شماره 9)
اینجا (http://barnamenevis.org/showthread.php?251604-آموزش-ویدئویی-فارسی-Blend&highlight=%D8%B3%D8%A7%D8%AE%D8%AA+%D9%81%D8%B1%D9 %85+%D8%AF%D8%B1+blend)
البته این یک روش از روشهای ساخت فرم با استایل دلخواه هست.
سعی میکنم تو یه فرصت مناسب یک نمونه دیگه براتون ارسال کنم.
موفق باشید
یا حق.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.