إنشاء صورة قابلة للنقر في WPF
-
01-10-2019 - |
سؤال
أرغب في عمل عنصر تحكم مستخدم يعرض صورة ويمكنه استدعاء أمر عند النقر عليه. في وقت لاحق ، أريد ربط قائمة من عناصر التحكم هذه بقائمة من المنتجات.
المحلول
جرب هذا النهج المستقيم إلى الأمام
<Grid>
<Button Height="50" Width="50">
<Button.Template>
<ControlTemplate>
<Image Source="yourimage.png"/>
</ControlTemplate>
</Button.Template>
</Button>
</Grid>
private void Button_Click(object sender, RoutedEventArgs e)
{
// do smt
}
نصائح أخرى
حسنًا ، بعد المزيد من العبث ، يقوم زر بسيط بالمهمة. ها هو:
<Button Command="{Binding Path=DisplayProductCommand}" >
<Image Source="..\Images\my-beautiful-product.jpg"/>
</Button>
هناك عدة طرق للقيام بذلك ، ولكن هناك حل واحد بسيط هو استخدام زر (ربما نمط الحدود والخلفية) ، واستخدام الصورة كمحتوى للزر.
يمكنك لاحقًا استخدام قائمة مربع أو ما شابه ، وتجاوز datatemplate لاستخدام الزر وصورة لكل منتج.
<Image Name="imageFoo" Source="/AppFoo;component/Foo.png" Width="32" Cursor="Hand" MouseUp="imageFoo_MouseUp"/>
private void imageFoo_MouseUp(object sender, MouseButtonEventArgs e)
{
//Do something
}
لا أعرف عنكم يا رفاق ولكن PreviewMouseDown
و TouchUp
عملت بشكل جيد تمامًا مع ملزمة:
<Image x:Name="bla" Source="{Binding blabla}" ... TouchDown="bla_TouchDown" PreviewMouseDown="bla_PreviewMouseDown">
أنا أستخدم مقابل 2015
لا تنتمي إلى StackOverflow