亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

WPF 將值發送到動態圖像后面的代碼?

WPF 將值發送到動態圖像后面的代碼?

C#
精慕HU 2021-07-16 14:06:21
我是使用 WPF 表單的新手,我創建了一個頁面來顯示數據庫中的圖像,但是盡管搜索了幾天,我還是找不到一種方法來知道哪個圖像上有鼠標懸?;蚴髽藛螕羰录?。要設置我擁有的圖像:public class RBimageData    {        private string _Title;        public string Title        {            get { return this._Title; }            set { this._Title = value; }        }        private BitmapImage _ImageData;        public BitmapImage ImageData        {            get { return this._ImageData; }            set { this._ImageData = value; }        }        private String _ImageID;        public String ImageID        {            get { return this._ImageID; }            set { this._ImageID = value; }        }    }    public MainWindow()    {        InitializeComponent();        RBpartsList rbPartsList = mongoDB.GetRBparts("elements", 1, 7); // get parts from database        List<RBpartsImages> rbImages = rbPartsList.RBparts;        List<RBimageData> md = new List<RBimageData>();                   foreach (RBpartsImages img in rbImages)        {            RBimageData m = new RBimageData            {                Title = img.ImageFilename,                ImageID = "id_"+img.PartNum,                ImageData = LoadImage(rbPartsList.FilePath,img.ImageFilename) }; // provides BitmapImage URI for image                                md.Add(m);        }        RBbox.ItemsSource = md.ToArray();它不適用于 x:Name="{Binding ImageID}".. 我找不到任何可以讓我識別點擊了哪個圖像的東西,你能幫忙嗎?
查看完整描述

1 回答

?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

當您this在代碼隱藏中引用時,它指向 Window 對象。您正在尋找控件的Tag屬性Image。


為此,我建議在控件上定義MouseEnter="IdentifyPartImage_MouseEnter"和MouseLeave="IdentifyPartImage_MouseLeave"事件Image,然后sender參數將是該Image對象。


在您的 XAML 中:


<Button>

    <Image Source="{Binding ImageData}"

           HorizontalAlignment="Stretch"

           VerticalAlignment="Top"

           Stretch="UniformToFill"

           Tag="{Binding ImageID}"

           MouseEnter="IdentifyPartImage_MouseEnter"

           MouseLeave="IdentifyPartImage_MouseLeave"/>

 </Button>

在你的代碼隱藏中:


private void IdentifyPartImage_MouseEnter(object sender, MouseEventArgs e)

{

    var imgId = ((Image)sender).Tag.ToString();              

    Debug.WriteLine("id: {0}, {1}", "imageID", imgId);

}


查看完整回答
反對 回復 2021-07-18
  • 1 回答
  • 0 關注
  • 179 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號