نمایش نتایج 1 تا 23 از 23

نام تاپیک: اجرای دستورات در ResourceDictoinery

  1. #1

    اجرای دستورات در ResourceDictoinery

    با سلام
    من درون یک ریسورس دیکشنری استایل پنجره رو ساختم
    درون اون از سه تا Grid.RowDefinitions استفاده کردم
    اگر بخوام در اولی RowDefinitions خودم از MouseDown برای جابجائی فرم استفاده کنم دستورات اون رو باید در کجا بنویسم
    ممنون

  2. #2

    نقل قول: اجرای دستورات در ResourceDictoinery

    نقل قول نوشته شده توسط MMRavari مشاهده تاپیک
    با سلام
    من درون یک ریسورس دیکشنری استایل پنجره رو ساختم
    درون اون از سه تا Grid.RowDefinitions استفاده کردم
    اگر بخوام در اولی RowDefinitions خودم از MouseDown برای جابجائی فرم استفاده کنم دستورات اون رو باید در کجا بنویسم
    ممنون
    فرض کنیم که یک فایل XAML به عنوان ResourceDictionary تعریف کرده اید که اسمش Dictionary1 ئه (منوی Project گزینه ...Add Resource Dictionary)

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfApp1">

    </ResourceDictionary>

    ابتدا یک x:Class به اون ResourceDictionary اضافه می کنیم که مشخص کنه که کد کلاس کجا نوشته میشه، مثلا در فضای نام MyNamespace و کلاس Dictionary1 :

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfApp1"
    x:Class="MyNamespace.Dictionary1">

    </ResourceDictionary>

    حالا Style و Template اون Window رو داخل ResourceDictionary تعریف می کنیم، بخش مهم اون EventSetter ئه که میگه اگر روی اون Border که در "Grid.Row="0 قرار داره کلیک شد، باید متد SomeAction اجرا بشه که هنوز کدش رو ننوشته ایم :

    urceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfApp1"
    x:Class="MyNamespace.Dictionary1">
    <Style x:Key="MyStyle" TargetType="Window">
    <Setter Property="WindowStyle" Value="None"/>
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="Window">
    <Grid>
    <Grid.RowDefinitions>
    <RowDefinition Height="25"/>
    <RowDefinition Height="4"/>
    <RowDefinition/>
    </Grid.RowDefinitions>
    <Border Grid.Row="0" Background="LightBlue">
    <Border.Style>
    <Style TargetType="Border">
    <EventSetter Event="MouseDown" Handler="SomeAction"/>
    </Style>
    </Border.Style>
    </Border>
    <Border Grid.Row="1">
    <Border.Background>
    <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
    <GradientStop Color="DeepSkyBlue" Offset="0.0" />
    <GradientStop Color="White" Offset="0.25" />
    <GradientStop Color="DeepSkyBlue" Offset="0.75" />
    <GradientStop Color="White" Offset="1.0" />
    </LinearGradientBrush>
    </Border.Background>
    </Border>
    <Border Grid.Row="2" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}">
    <ContentPresenter/>
    </Border>
    </Grid>
    </ControlTemplate>
    </Setter.Value>
    </Setter>
    </Style>
    </ResourceDictionary>

    من نام Style رو MyStyle در نظر گرفتم.

    حالا یک کلاس Dictionary1 رو می سازیم (منوی Project گزینه ...Add Class)، اگر نام فایل ResourceDictionary ئه Dictionary1.xaml باشه، باید نام فایل کلاس رو Dictionary1.xaml.cs بدهیم :

    using System;
    using System.Windows;
    using System.Windows.Controls;

    namespace MyNamespace
    {
    public partial class Dictionary1 : ResourceDictionary
    {
    public void SomeAction(object sender, EventArgs e)
    {
    Window.GetWindow((Border)sender).DragMove();
    }
    }
    }

    این کد میگه وقتی SomeAction اجرا شد (روی اون Border دکمه ماوس فشار داده شد) پنجره رو DragMove کنه. دقت کنید که فضای نام رو MyNamespace تعریف کرده ایم و در اون ResourceDictionary هم "x:Class="MyNamespace.Dictionary1 رو توصیف کردیم که به همین کلاس اشاره داره.
    حالا فایل App.xaml پروژه رو باز می کنیم و ResourceDictionary مون رو به <Application.Resources> اضافه می کنیم :

    <Application x:Class="WpfApp1.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfApp1"
    StartupUri="MainWindow.xaml">
    <Application.Resources>
    <ResourceDictionary Source="Dictionary1.xaml" />
    </Application.Resources>
    </Application>

    حالا در پنجره مورد نظر از این Style ای که ساختیم استفاده می کنیم :

    <Window x:Class="WpfApp1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:WpfApp1"
    mc:Ignorable="d"
    Title="MainWindow" Height="450" Width="800" Style="{StaticResource MyStyle}">
    <Grid>

    </Grid>
    </Window>

  3. #3

    نقل قول: اجرای دستورات در ResourceDictoinery

    ممنون دوست عزیز
    از لطف شما سپاسگذارم
    امتحان میکنم هرجا با مشکل برخوردم مزاحم میشم
    ممنون

  4. #4

    نقل قول: اجرای دستورات در ResourceDictoinery

    با سلام
    و تشکر ویژه برای آموزش
    من از روش شما برای ساخت و استفاده از ریسورس دیکشنری استفاده کردم
    حالا میخواستم بدونم برای یادگیری کارهای دیگه
    مثل MouseMove برای تغییر Opacity
    یا دستور Close برای بسته شدن فرم
    و هر کار دیگه از کجا میتونم
    اون رو یاد بگیرم
    ممنون از لطفتون
    آخرین ویرایش به وسیله MMRavari : یک شنبه 26 مرداد 1399 در 05:08 صبح

  5. #5

    نقل قول: اجرای دستورات در ResourceDictoinery

    با سلام
    فرم جدید رو مطابق آموزشتون در ResourceDictionery ساختم و فایل و ضمیمه کردم
    ولی با چند مشکل روبرو شدم
    1. اول اینکه بعضی وقتا با ارور زیر روبرو میشم علتش و چه جوری باید اون رو برطرف کرد

    'ResourceDictionary' root element requires a x:Class attribute to support event handlers in the XAML file. Either remove the event handler for the MouseDown event, or add a x:Class attribute to the root element. Line 26 Position 68.





    1. دوم اینکه من برای Title از دو عکس و یک نوشته استفاده کردم و opacity گرید رو به 0.5 تغییر دادم اگر بخوام رویداد MouseMove رو برای اون تعریف کنم چطوری میتونم
    2. هم چنین برای هر کدوم از متغیرهای موجود در Title نامی منظور کردم اگر بخوام در موقع استفاده از این ResourceDictionery مقادیر جدیدی روبراشون اعمال کنم از چه دستور باید استفاده کنم
    پیشاپیش از کلیه دوستان که در این تاپیک کمک میکنن کمال تشکر رو دارم
    ممنون
    فایل های ضمیمه فایل های ضمیمه

  6. #6

    نقل قول: اجرای دستورات در ResourceDictoinery

    نقل قول نوشته شده توسط MMRavari مشاهده تاپیک
    با سلام
    فرم جدید رو مطابق آموزشتون در ResourceDictionery ساختم و فایل و ضمیمه کردم
    ولی با چند مشکل روبرو شدم
    1. اول اینکه بعضی وقتا با ارور زیر روبرو میشم علتش و چه جوری باید اون رو برطرف کرد

    'ResourceDictionary' root element requires a x:Class attribute to support event handlers in the XAML file. Either remove the event handler for the MouseDown event, or add a x:Class attribute to the root element. Line 26 Position 68.





    1. دوم اینکه من برای Title از دو عکس و یک نوشته استفاده کردم و opacity گرید رو به 0.5 تغییر دادم اگر بخوام رویداد MouseMove رو برای اون تعریف کنم چطوری میتونم
    2. هم چنین برای هر کدوم از متغیرهای موجود در Title نامی منظور کردم اگر بخوام در موقع استفاده از این ResourceDictionery مقادیر جدیدی روبراشون اعمال کنم از چه دستور باید استفاده کنم
    پیشاپیش از کلیه دوستان که در این تاپیک کمک میکنن کمال تشکر رو دارم
    ممنون
    قسمت 78 آموزش دسترسی به المنت ها روی دیکشنری هست
    https://www.daneshjooyar.com/%d8%a2%...d%d9%88%d8%b1/

  7. #7

    نقل قول: اجرای دستورات در ResourceDictoinery

    ممنونم دوست عزیز
    ولی این آموزش در صف انشار هست
    من درخواستم رو برای خرید فرستادم
    ولی اکنون با مشکل روبرو هستم
    ممنون میشم راهنمایی کنید

  8. #8

    نقل قول: اجرای دستورات در ResourceDictoinery

    نقل قول نوشته شده توسط MMRavari مشاهده تاپیک
    با سلام
    فرم جدید رو مطابق آموزشتون در ResourceDictionery ساختم و فایل و ضمیمه کردم
    ولی با چند مشکل روبرو شدم
    1. اول اینکه بعضی وقتا با ارور زیر روبرو میشم علتش و چه جوری باید اون رو برطرف کرد

    'ResourceDictionary' root element requires a x:Class attribute to support event handlers in the XAML file. Either remove the event handler for the MouseDown event, or add a x:Class attribute to the root element. Line 26 Position 68.






    1. دوم اینکه من برای Title از دو عکس و یک نوشته استفاده کردم و opacity گرید رو به 0.5 تغییر دادم اگر بخوام رویداد MouseMove رو برای اون تعریف کنم چطوری میتونم
    2. هم چنین برای هر کدوم از متغیرهای موجود در Title نامی منظور کردم اگر بخوام در موقع استفاده از این ResourceDictionery مقادیر جدیدی روبراشون اعمال کنم از چه دستور باید استفاده کنم
    پیشاپیش از کلیه دوستان که در این تاپیک کمک میکنن کمال تشکر رو دارم
    ممنون
    سلام
    شما اون چیزی را که استاد در پست 2 گفتن ، خیلی ها را رعایت نکردین .
    چندین کد را ننوشتین ، فایل ها را به اون نام ای که استاد گفتن ، rename نکردین ، کدهایی را بدون در نظر گرفتن شرایط ، اضافه کردین و ... .

    اول اینکه ، کد های :


    xmlns:local="clr-namespace:WpfApp1"
    x:Class="MyNamespace.Dictionary1"


    را که استاد گفتن ، در کدتون وجود نداره .
    بعد نام فایل ها و همچنین نام فضای نام و نام کلاس هایی (مثل همین نام کلاس Dictionary1) را ، یه چیز دیگه گذاشتین ، بدون اینکه شرایطی که استاد برای rename اش توضیح دادن را رعایت کنین .
    سر آخر هم علاوه بر اون border ، یه grid دیگه در بخش caption فرم تون گذاشتین (همون بخش Grid.Row="0" ئه گرید اصلی) که این گرید ، اون border را پوشش میده . اگه گرید دیگه ای میخواین قرار بدین ، برای رویداد این گرید ، کد بنویسین نه برای رویداد اون border .

    چون چندین مورد تغییرات هستن ، تغییرات پروژه تون را در زیر پیوست میکنم (لطفا دقت کنید اون توضیحاتی که طرف مقابل تون میدن . چون خیلی از توضیحات استاد را اصلا رعایت و پیاده سازی نکردین . تشکر) .
    فایل های ضمیمه فایل های ضمیمه

  9. #9

    نقل قول: اجرای دستورات در ResourceDictoinery

    نقل قول نوشته شده توسط SajjadKhati مشاهده تاپیک
    سلام
    شما اون چیزی را که استاد در پست 2 گفتن ، خیلی ها را رعایت نکردین .
    چندین کد را ننوشتین ، فایل ها را به اون نام ای که استاد گفتن ، rename نکردین ، کدهایی را بدون در نظر گرفتن شرایط ، اضافه کردین و ... .

    اول اینکه ، کد های :


    xmlns:local="clr-namespace:WpfApp1"
    x:Class="MyNamespace.Dictionary1"


    را که استاد گفتن ، در کدتون وجود نداره .
    بعد نام فایل ها و همچنین نام فضای نام و نام کلاس هایی (مثل همین نام کلاس Dictionary1) را ، یه چیز دیگه گذاشتین ، بدون اینکه شرایطی که استاد برای rename اش توضیح دادن را رعایت کنین .
    سر آخر هم علاوه بر اون border ، یه grid دیگه در بخش caption فرم تون گذاشتین (همون بخش Grid.Row="0" ئه گرید اصلی) که این گرید ، اون border را پوشش میده . اگه گرید دیگه ای میخواین قرار بدین ، برای رویداد این گرید ، کد بنویسین نه برای رویداد اون border .

    چون چندین مورد تغییرات هستن ، تغییرات پروژه تون را در زیر پیوست میکنم (لطفا دقت کنید اون توضیحاتی که طرف مقابل تون میدن . چون خیلی از توضیحات استاد را اصلا رعایت و پیاده سازی نکردین . تشکر) .
    این روش استاندارد نیست حداقل تو پروژه های خود مایکروسافت و سایر شرکت ها استفاده نمیشه و من هم جایی ندیدم که به این صورت بخوان به المنت های دیکشنری دسترسی داشته باشن!!
    براتون داخل پروژه اصلاح کردم
    درضمن این کاری که کردید رو با یه attached property براحتی میشه انجامش داد و خوبی که این روش داره شما میتونی با هر المنتی عملیات درگ رو انجام بدید کافیه پراپرتی رو true کنید
    براتون یه ویندو2 ایجاد کردم که با این اتچ پراپرتی کار میکنه میتونید تست کنید

    http://uupload.ir/view/nvp5_projectlist.zip/

  10. #10

    نقل قول: اجرای دستورات در ResourceDictoinery

    از هر دو بزرگوار ممنونم
    من رشتم کامپیوتر نیست و برای حل مشکلاتم دارم از برنامه نویسی استفاده میکنم
    قبلأ هم درخواست من آموزش برای اینکار بود
    به هر حال از هر دوی شما بسیار سپاسگذارم
    حتمأ مطالبی رو که فرمودین بررسی میکنم
    با سپاس فراوان

  11. #11

    نقل قول: اجرای دستورات در ResourceDictoinery

    نقل قول نوشته شده توسط MMRavari مشاهده تاپیک
    از هر دو بزرگوار ممنونم
    من رشتم کامپیوتر نیست و برای حل مشکلاتم دارم از برنامه نویسی استفاده میکنم
    قبلأ هم درخواست من آموزش برای اینکار بود
    به هر حال از هر دوی شما بسیار سپاسگذارم
    حتمأ مطالبی رو که فرمودین بررسی میکنم
    با سپاس فراوان

    فقط اینکه کد فایل WindowStyle.xaml را به اینی که در زیر مینویسم ، جایگزین کنید چون ContentPresenter را اضافه کردم وگرنه محتوایی را نمیتونید اضافه کنید :


    <ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:ProjectList"
    x:Class="ProjectList.WindowTemplate">
    <Style x:Key="MainWindow" TargetType="{x:Type Window}">
    <Setter Property="AllowsTransparency" Value="True"/>
    <Setter Property="WindowStyle" Value="None"/>
    <Setter Property="Background" Value="Transparent"/>
    <Setter Property="FlowDirection" Value="RightToLeft"/>
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="{x:Type Window}">
    <Grid Margin="5">
    <Grid.RowDefinitions>
    <RowDefinition Height="40"/>
    <RowDefinition/>
    </Grid.RowDefinitions>
    <Border Grid.Row="0" CornerRadius="15,15,0,0" Background="SkyBlue">
    <!--<Border.Style>
    <Style TargetType="{x:Type Border}">
    <EventSetter Event="MouseDown" Handler="WinMove"/>
    </Style>
    </Border.Style>-->
    </Border>
    <Grid x:Name="grdTitle" Grid.Row="0" Opacity="0.5">
    <Grid.ColumnDefinitions>
    <ColumnDefinition Width="40"/>
    <ColumnDefinition/>
    <ColumnDefinition Width="40"/>
    </Grid.ColumnDefinitions>
    <Image x:Name="imgTitle" Source="/Img/15.png" Margin="5"/>
    <Label x:Name="lblTitle" Content="فرم اصلی" FontSize="24" Grid.Column="1" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
    <Image x:Name="imgExit" Grid.Column="2" Source="/Img/exit1.png" Margin="5"/>
    <Grid.Style>
    <Style TargetType="{x:Type Grid}">
    <EventSetter Event="MouseDown" Handler="WinMove"/>
    </Style>
    </Grid.Style>
    </Grid>
    <Border Grid.Row="1" Background="#FFFFFFFF" CornerRadius="0,0,15,15">
    </Border>


    <ContentPresenter Grid.Row="1"/>

    </Grid>
    </ControlTemplate>
    </Setter.Value>
    </Setter>
    </Style>
    </ResourceDictionary>

  12. #12

    نقل قول: اجرای دستورات در ResourceDictoinery

    نقل قول نوشته شده توسط MMRavari مشاهده تاپیک
    از هر دو بزرگوار ممنونم
    من رشتم کامپیوتر نیست و برای حل مشکلاتم دارم از برنامه نویسی استفاده میکنم
    قبلأ هم درخواست من آموزش برای اینکار بود
    به هر حال از هر دوی شما بسیار سپاسگذارم
    حتمأ مطالبی رو که فرمودین بررسی میکنم
    با سپاس فراوان
    ضمنا ، بجای اون کد ، پیشنهاد میکنم که فایل WindowTemplate.xaml.cs تون را به WindowStyles.xaml.cs تغییر نام بدید (که استاد گفته بودن) (هم نام با فایل xaml تون که هر چی هست اما پسوندش ، پسوند سی شارپ باشه) . در پروژه ای که بهتون دادم ، این کار را نکردم .
    با این کار ، پیچیدگی همون کد ، کم میشه و نیاز به حتی اون کد هم نیست و مثل حالت عادی که در xaml برای ویندوز اصلی کد مینوشتین ، برای این فایل هم میتونین همینطوری کد بنویسین . (یعنی رویدادها را در لیست اینتلیسنس تون خواهید داشت) .

    بنابراین اگه فایل تون را به این ، تغییر نام دادین ، میتونین کد زیر را جایگزین کد قبلی تون کنید (دیگه نیازی به استفاده از EventSetter برای تنظیم رویداد نیست) :


    <ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:ProjectList"
    x:Class="ProjectList.WindowTemplate">
    <Style x:Key="MainWindow" TargetType="{x:Type Window}">
    <Setter Property="AllowsTransparency" Value="True"/>
    <Setter Property="WindowStyle" Value="None"/>
    <Setter Property="Background" Value="Transparent"/>
    <Setter Property="FlowDirection" Value="RightToLeft"/>
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="{x:Type Window}">
    <Grid Margin="5">
    <Grid.RowDefinitions>
    <RowDefinition Height="40"/>
    <RowDefinition/>
    </Grid.RowDefinitions>
    <Border Grid.Row="0" CornerRadius="15,15,0,0" Background="SkyBlue">
    </Border>
    <Grid MouseLeftButtonDown="grdTitle_MouseLeftButtonDown" x:Name="grdTitle" Grid.Row="0" Opacity="0.5">
    <Grid.ColumnDefinitions>
    <ColumnDefinition Width="40"/>
    <ColumnDefinition/>
    <ColumnDefinition Width="40"/>
    </Grid.ColumnDefinitions>
    <Image x:Name="imgTitle" Source="/Img/15.png" Margin="5"/>
    <Label x:Name="lblTitle" Content="فرم اصلی" FontSize="24" Grid.Column="1" VerticalContentAlignment="Center" HorizontalContentAlignment="Center"/>
    <Image x:Name="imgExit" Grid.Column="2" Source="/Img/exit1.png" Margin="5"/>
    </Grid>
    <Border Grid.Row="1" Background="#FFFFFFFF" CornerRadius="0,0,15,15">
    </Border>


    <ContentPresenter Grid.Row="1"/>


    </Grid>
    </ControlTemplate>
    </Setter.Value>
    </Setter>
    </Style>
    </ResourceDictionary>


    و در فایل WindowStyles.xaml.cs تون هم فقط کافی هه هندلر رویداد را بصورت مستقیم ، کد بنویسین :


    using System;
    using System.Windows;
    using System.Windows.Controls;


    namespace ProjectList
    {
    public partial class WindowTemplate :ResourceDictionary
    {
    private void grdTitle_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
    {
    Window.GetWindow((Grid)sender).DragMove();
    }
    }
    }



  13. #13

    نقل قول: اجرای دستورات در ResourceDictoinery

    ممنون دوست عزیز
    اینکار رو برای فرمم میکنم
    اما مشکل باقیمونده مربوط به Opacity برای هستTitle
    ممنون میشم راهنمایی کنید
    اگر کتابی که اصولی باد داده باشه هم میشناسید ممنون میشم معرفی کنید
    باز از لطف شما ممنون

  14. #14

    نقل قول: اجرای دستورات در ResourceDictoinery

    نقل قول نوشته شده توسط MMRavari مشاهده تاپیک
    ممنون دوست عزیز
    اینکار رو برای فرمم میکنم
    اما مشکل باقیمونده مربوط به Opacity برای هستTitle
    ممنون میشم راهنمایی کنید
    اگر کتابی که اصولی باد داده باشه هم میشناسید ممنون میشم معرفی کنید
    باز از لطف شما ممنون
    متوجه ی مشکل opacity تون نشدم؟
    اگه میخواین opacity نوشته ی "فرم اصلی" را کم کنین ، خوب opacity ی مربوط به label ای که نوشته ی "فرم اصلی" را ست کردین را مقدار دهی کنید دیگه .

  15. #15

    نقل قول: اجرای دستورات در ResourceDictoinery

    نه دوست خوب
    من اومدم opacity کل Group مربوط به هدر رو کم کردم
    که شامل دو تصویر و نوشت مرکز اون هست
    میخوام با قرار گیری Mouse در روی اون Group تمامی
    اونها شفاف بشن
    مرسی

  16. #16

    نقل قول: اجرای دستورات در ResourceDictoinery

    نقل قول نوشته شده توسط MMRavari مشاهده تاپیک
    نه دوست خوب
    من اومدم opacity کل Group مربوط به هدر رو کم کردم
    که شامل دو تصویر و نوشت مرکز اون هست
    میخوام با قرار گیری Mouse در روی اون Group تمامی
    اونها شفاف بشن
    مرسی
    بقیه ی موارد ، مثل حالت عادی هه دیگه .
    در همون گرید ای که شفافیت اش را کم کردین ، رویداد MouseEnter و MouseLeave بسازین و کدها را توش بنویسین (در حالتی میتونین این کار را کنین که چیزهایی که در پست شماره 12 گفته شد (تغییر نام اون فایل) را انجام بدین ) .
    بعد از ساختن اون دو رویداد ، کد داخل این رویدادها که دیگه کاری نداره :


    ((Grid)sender).Opacity = 0.2;

  17. #17

    نقل قول: اجرای دستورات در ResourceDictoinery

    من کاری رو که گفتین انجام دادم اما
    Opacity کل فرم کم و زیاد میشه
    من میخواهم Opacity فقط Header فر تغییر کنه
    برای خروج چه دستوری میشه نوشت
    ممنون
    فایل های ضمیمه فایل های ضمیمه

  18. #18

    نقل قول: اجرای دستورات در ResourceDictoinery

    نقل قول نوشته شده توسط MMRavari مشاهده تاپیک
    من کاری رو که گفتین انجام دادم اما
    Opacity کل فرم کم و زیاد میشه
    من میخواهم Opacity فقط Header فر تغییر کنه
    برای خروج چه دستوری میشه نوشت
    ممنون
    داخل همون کنترل که میخاید opacity تغییر کنه یه تریگر بنویسید به جای بوردر اسم کنترل خودتون بنویسید
    شما اینجور کار هارو باید با همون تریگر انجام بدید و درگیر سی شارپ نشید
    <Border.Style>
    <Style>
    <Setter Property="Opacity" Value="1"/>
    <Style.Triggers>
    <Trigger Property="IsMouseOver" Value="True">
    <Setter Property="Opacity" Value=".2" />
    </Trigger>
    </Style.Triggers>
    </Style>
    </Border.Style>

  19. #19

    نقل قول: اجرای دستورات در ResourceDictoinery

    نقل قول نوشته شده توسط MMRavari مشاهده تاپیک
    من کاری رو که گفتین انجام دادم اما
    Opacity کل فرم کم و زیاد میشه
    من میخواهم Opacity فقط Header فر تغییر کنه
    برای خروج چه دستوری میشه نوشت
    ممنون
    گلپسر ، فارسی نوشتم دیگه .
    در پست 12 گفتم که نام فایلِ WindowTemplate.xaml.cs تون را به WindowStyles.xaml.cs تغییر نام بدید . اما کماکان نام فایل تون همون WindowTemplate.xaml.cs هست .
    کد تغییر opacity را که بهتون در پست قبلی (پست 16) دادم دیگه :


    public void MouseEnter(object sender, EventArgs e)
    {
    ((Grid)sender).Opacity = 0.2;
    }
    public void MouseLeave(object sender,EventArgs e)
    {
    ((Grid)sender).Opacity = 1;
    }

  20. #20

    نقل قول: اجرای دستورات در ResourceDictoinery

    با تشکر از دوستان
    جناب آقای barnamenevisjavan من کاری رو که فرمودین انجام دادم
    ولی باز هم با ورود موس به فرم Opacity هدر فرم تغییر میکنه
    من میخوام وقتی موس روی هدر قرارگرفت Opacity تغییر کنه

    جناب آقای SajjadKhati از لطف شما هم ممنون ولی دوست خوب
    اگر توی فایل ارسالی ببینی من هون کار رو انجام دادم
    ولی تغییرات در زمان ورود موس به فرم انجام میشه

    من که فایل رو ضمیمه میکنم
    مرسی
    فایل های ضمیمه فایل های ضمیمه

  21. #21

    نقل قول: اجرای دستورات در ResourceDictoinery

    نقل قول نوشته شده توسط MMRavari مشاهده تاپیک
    با تشکر از دوستان
    جناب آقای barnamenevisjavan من کاری رو که فرمودین انجام دادم
    ولی باز هم با ورود موس به فرم Opacity هدر فرم تغییر میکنه
    من میخوام وقتی موس روی هدر قرارگرفت Opacity تغییر کنه

    جناب آقای SajjadKhati از لطف شما هم ممنون ولی دوست خوب
    اگر توی فایل ارسالی ببینی من هون کار رو انجام دادم
    ولی تغییرات در زمان ورود موس به فرم انجام میشه

    من که فایل رو ضمیمه میکنم
    مرسی
    خوب حرف گوش نمیکنی که
    این کد رو بزار داخل گرید لازم نیست داخل تریگر controltemplate بنویسی
    درضمن اون مقدار opacity که برای گرید ست کردی رو هم باید حذفش کنی تا تریگر درست کار کنه
    نکته بعدی اینکه برای حالت دوم (false یا true) نیاز نیست دوباره تریگر بنویسی الان تریگر زیر هم برای حالت true هست هم false
    <Grid.Style>
    <Style TargetType="Grid">
    <Setter Property="Opacity" Value="1"/>
    <Style.Triggers>
    <Trigger Property="IsMouseOver" Value="True">
    <Setter Property="Opacity" Value=".2" />
    </Trigger>
    </Style.Triggers>
    </Style>
    </Grid.Style>

  22. #22

    نقل قول: اجرای دستورات در ResourceDictoinery

    نقل قول نوشته شده توسط MMRavari مشاهده تاپیک
    با تشکر از دوستان
    جناب آقای barnamenevisjavan من کاری رو که فرمودین انجام دادم
    ولی باز هم با ورود موس به فرم Opacity هدر فرم تغییر میکنه
    من میخوام وقتی موس روی هدر قرارگرفت Opacity تغییر کنه

    جناب آقای SajjadKhati از لطف شما هم ممنون ولی دوست خوب
    اگر توی فایل ارسالی ببینی من هون کار رو انجام دادم
    ولی تغییرات در زمان ورود موس به فرم انجام میشه

    من که فایل رو ضمیمه میکنم
    مرسی
    فایل ارسالی تون را دیدم که پست قبلی را دادم .
    همین پست قبلی تون و هم این پست ، در هیچ کدوم از فایل ارسالی ، چیزهایی که گفتم را عملی نکردین . 2 تا چیز ساده گفتم . نه فایل را تغییر نام دادید و نه یه خط کدی که بهتون دادم را در اون رویداد نوشتید .
    آموزش سی شارپ و wpf را پیگیری کنید (قبلا هم که لینک خواستید و بهتون دادم) .

    پروژه ای که تغییراتی که گفتم را در زیر پیوست میکنم (اون 2 فایل را بذارید کنار هم توی یه پوشه باشن و توی پوشه های مختلف نذارید . فایل WindowStyles.xaml.cs و WindowStyles.xaml) :
    فایل های ضمیمه فایل های ضمیمه

  23. #23

    نقل قول: اجرای دستورات در ResourceDictoinery

    از هر دو بزرگوار ممنونم
    لطف کردین
    سپاس فراوان

تاپیک های مشابه

  1. پاسخ: 4
    آخرین پست: سه شنبه 23 مهر 1392, 05:57 صبح
  2. پاسخ: 3
    آخرین پست: چهارشنبه 03 فروردین 1390, 23:51 عصر
  3. به جای دستور system.convert در d2010 از چه دستوری استفاده کنم؟
    نوشته شده توسط tabarestan در بخش برنامه نویسی در Delphi Prism
    پاسخ: 3
    آخرین پست: شنبه 14 فروردین 1389, 10:38 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •