سؤال

في بلدي التطبيق أريد لتغيير حجم صورة thumbinal عند النقر فوق ذلك، كل الصور هي في ItemTemplate حيث يتم ربط الملكية المصدر لعنوان URL إلى الصورة.

وأنا أحاول شيئا من هذا القبيل (وهذا هو في ملف DataTemplate بلدي)

<TextBlock>
   <Hyperlink TextDecorations="None"
               Command="helpers:StatusesCommands.ShowPicture"
               CommandParameter="{Binding}">
                    <Image Source="{Binding Path=FirstPictureUrl}" Margin="5"   />
   </Hyperlink>
</TextBlock>

ولكن في معالج القيادة لا أعرف كيفية الوصول إلى هذه الصورة. تم تعيين propoerty OriginalSource على ExecutedRoutedEventArgs إلى ارتباط تشعبي، ومن المتوقع المصدر إلى إرادتي.

وربما يكون من الممكن تحديد CommangParameter إلى بلدي صورة متداخلة، لكني لا أعرف كيفية القيام بذلك. هل لديك أي فكرة عن كيفية حل هذا؟

هل كانت مفيدة؟

المحلول

وأنت ملزم معلمة الأمر إلى سياق البيانات، لذلك سيكون لديك الوصول إلى مسار صورة في معلمة الأمر، إذا كنت يلقي المعلمة بشكل صحيح.

لتمرير صورة كمعلمة القيادة مباشرة، لأول مرة اسم الصورة:

<Image x:Name="myImg" Source="{Binding Path=FirstPictureUrl}" Margin="5"/>

وربط CommandParameter لهذه الصورة:

CommandParameter="{Binding ElementName=myImg}"

وليس من الواضح أين أنت التعامل مع هذا الأمر. إذا كنت التعامل مع الامر في التعليمات البرمجية وراء لهذا XAML، هل يمكن تسمية عنصر صورة والرجوع إليه بالاسم في التعليمات البرمجية خلف الملف. ومع ذلك، انها ممارسة عادة أفضل لتمرير ما عليك الأمر كمعلمة. في بعض الأحيان يتم التعامل مع الأمر بعيدا عن حيث يتم تشغيل الأمر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top