Lep
Lep
CC#
Created by Lep on 4/6/2023 in #help
❔ ? WPF Build Action(Resource)
I have the following: string Source = "C\\Images\\This.gif"; how can I include this to the resources automatically rather than manually?
<ItemGroup>
<Resource Include="Images\This.gif" />
</ItemGroup>
<ItemGroup>
<Resource Include="Images\This.gif" />
</ItemGroup>
41 replies
CC#
Created by Lep on 4/5/2023 in #help
❔ Auto Resize
I'm attempting a little learning project and was wondering if I could get some help on the following:
var newimg = new BitmapImage();
newimg.BeginInit();
newimg.UriSource = new Uri("Images\\Snoop.gif", UriKind.Relative);
newimg.EndInit();
ImageBehavior.SetAnimatedSource(img, newimg);

MainWin.Width = img resized width; <-----

SizeChanged += (o, e) =>
{
var r = SystemParameters.WorkArea;
Left = r.Right - ActualWidth;
Top = r.Bottom - ActualHeight;
};
var newimg = new BitmapImage();
newimg.BeginInit();
newimg.UriSource = new Uri("Images\\Snoop.gif", UriKind.Relative);
newimg.EndInit();
ImageBehavior.SetAnimatedSource(img, newimg);

MainWin.Width = img resized width; <-----

SizeChanged += (o, e) =>
{
var r = SystemParameters.WorkArea;
Left = r.Right - ActualWidth;
Top = r.Bottom - ActualHeight;
};
How can I get the automatically resized width of the new img? My current main window has a capped height of 300. The width is auto and the img has an auto height and width so it scales to the 300 pixel height. If I manually change the main window width size everything works perfectly fine. I tried the following but it didn't seem to work: MainWin.Width = (MainWin.Height / img.ActualHeight) * img.ActualWidth; which would give me 146.25 to be the correct width. It works if I insert the size manually, but it doesn't work if I use the equation to set the size. I've also tried:
SizeChanged += (o, e) =>
{
var r = SystemParameters.WorkArea;
//Left = r.Right - (234 * 300 / 480);
Left = r.Right - (img.ActualWidth * MainWin.Height / img.ActualHeight);
Top = r.Bottom - ActualHeight;
};
SizeChanged += (o, e) =>
{
var r = SystemParameters.WorkArea;
//Left = r.Right - (234 * 300 / 480);
Left = r.Right - (img.ActualWidth * MainWin.Height / img.ActualHeight);
Top = r.Bottom - ActualHeight;
};
The commented out section seems to work fine but the bottom doesn't, I also tried to change "ActualWidth/Height" to just normal.
9 replies