با سلام
من در برنامه خودم یک یوزر کنترل ایجاد کردم که لازمه عکس به او ارسال بشه
میخواستم روش ارسال رو یاد بگیرم
ممنون
Printable View
با سلام
من در برنامه خودم یک یوزر کنترل ایجاد کردم که لازمه عکس به او ارسال بشه
میخواستم روش ارسال رو یاد بگیرم
ممنون
سلام
منظورتون را دقیقا متوجه نمیشم .
ضمنا ، wpf ، سیستم بسیار قدرتمندی برای ساخت style و template داره . بسیار کم پیش میاد که نشه کنترل دلخواهی که مد نظرمون هست را با style و template پیاده سازی کرد .
اگه از user control استفاده کنید ، دیگه نمیتونید از template استفاده کنید .
با این حال ، منظورتون از ارسال عکس را متوجه نمیشم . اگه نیاز به تصویر دارید ، خوب در این user control تون ، پروپرتی ای (یا هر عضو دیگه ای که لازم دارید) از نوع ImageSource تعریف کنید و اگه مثلا فرمت تصویرتون از نوع فرمت عکس (مثل png و jpg و ...) هست ، مقدار اون پروپرتی را شی ای از نوع BitmapImage در نظر بگیرید (و پروپرتی UriSource از شی BitmapImage را مقداردهی کنید) .
ممنون از پاسختون
من برای کار خاصی از UserControl استفاده میکنم
اون کنترل من شامل یک Rectangle برای پیرامونه و یک سری تکست باکس و ایمیج
چون از این شکل در بیشتر فرمهام باید استفاده کنم اومدم اون رو بصورت UserControl تعریف کردم
برای تکس باکسها بصورت زیر عمل میکنمنقل قول:
public string GropShow1
{
get { return lbl2.Content.ToString(); }
set { lbl2.Content = value; }
}
اما برای ایمیج نمیدونم چطوری باید پیاده سازی کنم
مرسی
سلامی مجدد
خوب چرا برای این کار ، یه user control میسازید؟
برای این کار میتونید یه panel (مثل کنترل Grid) تعریف کنید و این کنترل هایی که نام بردید (Rectangle و TextBox ها و Image) و هر کنترل دیگه ای را داخلش بذارید .
این Grid را هم میتونید در Resource در پروژه تون تعریف کنید تا در هر فرم دیگه ای در دسترس تون باشه تا در اون فرم ها هم بتونید از این Grid استفاده کنید .
اگه از کنترل Image استفاده میکنید ، مقدار پروپرتی ImageSource ، مشخص کننده ی منبع اون Image هست که میتونید ازش استفاده کنید .
ممنون دوست عزیز
برای روش اولی که فرمودین مکنه یک مثال بزنین
برای image هم من در قسمت get چی باید بنویسمنقل قول:
public Image image1
{
get { return ; }
set { img2.Source = value.Source; }
}
ممنون
خواهش میکنم .
در فایل App.Xaml ، کد زیر را به قسمت ResourceDictionary ، اضافه کنید :
<Grid x:Key="overalControl">
<Border BorderBrush="Red" BorderThickness="2">
<Canvas>
<TextBox HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120"/>
<Image Canvas.Left="150" Width="200" Source="11.jpg"/>
</Canvas>
</Border>
</Grid>
در کد بالا ، پروپرتیِ Source ئه مربوط به کنترل Image را ، منبع Image یا آدرس منبع فایل مورد نظر خودتون را بدین (البته میتونین کنترل Grid را از کد بالا حذف کنید که در این صورت ، مقدار x:Key="overalControl" را باید به اون Border اختصاص بدین) .
کلا در این فایل ، بصورت پیش فرض ، کد بخش <ResourceDictionary> تون بصورت زیر باید بشه :
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Simple Styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Grid x:Key="overalControl">
<Border BorderBrush="Red" BorderThickness="2">
<Canvas>
<TextBox HorizontalAlignment="Left" Height="23" Margin="10,10,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120"/>
<Image Canvas.Left="150" Width="200" Source="11.jpg"/>
</Canvas>
</Border>
</Grid>
</ResourceDictionary>
پروپرتیِ Source ئه مربوط به کنترل Image را که توضیح دادم .
بعد هم در هر فرم (در واقع window ای) میتونین ازش استفاده کنید :
<Grid>
<ContentControl Content="{StaticResource overalControl}"/>
</Grid>
کد کلیِ بالا :
<Window x:Class="WPF_Practice.Window2"
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:WPF_Practice"
mc:Ignorable="d"
Title="Window2" Height="450" Width="800">
<Grid>
<ContentControl Content="{StaticResource overalControl}"/>
</Grid>
</Window>