- Fotók, videók mobillal
- Nothing Phone 2a - semmi nem drága
- OnePlus 15 - van plusz energia
- Xiaomi 17 Ultra - jó az optikája
- Újabb renderek mutatják meg az Xperia 1 VIII változásait
- Realme GT 2 - aláírjuk
- Marketingképeken a Motorola Edge 70 Pro
- Okosóra és okoskiegészítő topik
- Mától Huawei okosórákkal is lehet érintésmentesen fizetni
- Magisk
Új hozzászólás Aktív témák
-
Alexios
veterán
A scaletransformot be kell állítani valamihez, mert ez valaminek a transzformációja. A sima zárójel amúgy ha használsz mögötte {} zárójeleket is nem feltétlenül muszáj.
Szóval vagy van valamid amit szeretnél méretezni a xaml-ben, ott adsz egy nevet neki x : Name-el, majd a code behindban arra hivatkozol, vagy azt amit méretezni is akarsz code behindban hozod létre, és a végén hozzáadod a mainwindowhoz.Viszont, igazából mindegyik megoldás idegen a WPF-től, még ha működne is. Kezdésnek tudom, hogy viszonylag sok tud lenni, de tényleg érdemes olvasni az MVVM patternről, és data bindingról, mert egyrészt sokkal egyszerűbb dolgod lesz, másrészt erre van kitalálva. A lényege, hogy xaml-ben létrehozod a ui elementedet amit akarsz, majd ezt hozzá kötöd egy propertyhez, ezt általában egy viewmodel osztályban szokták, esetedben ha kezdésként a xaml.cs fájlban van sem gáz. A lényeg, hogy az az osztály, amihez kötni akarod meg kell valósítsa az INotifyPropertyChanged interfészt, ez az egész WPF sava-borsa, majd ha változás van akkor ezzel jelezni.
Valami ilyesminek kéne lennie pl.:
public partial class MainWindow : Window, INotifyPropertyChanged{//Inotifypropertychanged interfész megvalósításapublic event PropertyChangedEventHandler PropertyChanged;protected void OnPropertyChanged([CallerMemberName] string name = null){PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));}//Property amihez tudsz kötni xaml-rőlprivate double scaleX;public double ScaleX{get => scaleX;set{scaleX = value;//Ez az egész lényege, emiatt fog értesülni a UI arról hogy változás történtOnPropertyChanged();}}
public MainWindow(){InitializeComponent();//Esetünkben nincs viewmodel, szóval ez az osztály lesz az ahol keresni fogja a propertyket
DataContext = this;//Kezdésnek legyen 1, bárhol változtathatod aztán a kódban, pl. timerrelScaleX = 1;}}Aztán xaml-ben így lehet kötni hozzá:
<!--Ui Element amit méretezni akarsz, itt egy grid, de amúgy kb bármi lehet-->
<Grid>
<Grid.RenderTransform>
<!--Kötés a ScaleX propertyhez, amit a code-behindban állítunk-->
<ScaleTransform ScaleX="{Binding ScaleX}"/>
</Grid.RenderTransform>
</Grid>A lényeg, hogy ezután, ha lesz egy timered, akkor csak simán a ScaleX propertyt kell állítanod, és semmi más varázslatra nincs szükség.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- RETRO beárazás (mobil, PC, konzol)
- Kerékpárosok, bringások ide!
- Luck Dragon: Asszociációs játék. :)
- Milyen monitort vegyek?
- Szomjan halunk, míg az AI dolgozik
- Chieftec-Prohardver nyereményjáték
- Arc Raiders
- Nvidia GPU-k jövője - amit tudni vélünk
- Hosszú premier előzetest kapott az Arknights: Endfield
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- További aktív témák...
- Szép! HP EliteBook 855 G7 Fémházas Strapabíró Laptop 15,6" -65% AMD Ryzen 3 PRO 4450U 16/256 FHD
- HP 250RG10 3-100U 15 8GB/512 PC (B9YG6ET) Bontatlan (2db)
- Radiomaster TX16S MAX Mark II ELRS táv
- thrustmaster ts pc racer ferrari 488 challenge edition
- HP EliteBook 655 G10 15" Ryzen 5 PRO 7530U 32GB RAM Garancia 2028.02.27.
- Xiaomi Redmi Note 8 Pro 64GB, Kártyafüggetlen, 1 Év Garanciával
- GAMER PC! i9-13900 / RTX 4070 Super / 32GB DDR5 / 1TB NVMe / B760 / 650w Gold! BeszámítOK
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4322
- Oneplus 9 128GB,Átlagos,Adatkabel,12 hónap garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

