Hirdetés
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Telekom mobilszolgáltatások
- Nő az eSIM-ek iránti igény
- iPhone topik
- One mobilszolgáltatások
- Google Pixel topik
- Samsung Galaxy S25 - végre van kicsi!
- Okosóra és okoskiegészítő topik
- Android szakmai topik
- Samsung Galaxy Watch8 - Classic - Ultra 2025
Ú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!
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Forza sorozat (Horizon/Motorsport)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- Bittorrent topik
- Formula-1
- Építő/felújító topik
- Milyen billentyűzetet vegyek?
- Lenovo Thinkbook, Yoga széria
- Suzuki topik
- További aktív témák...
- NetApp StorageGrid SG5712 (NAJ-1502)- adattároló hdd nélkül -3 db
- HPE BladeSystem c7000 Enclosure (403321-B22)-without Blades -
- Intel Modular Server Chassis MFSYS25 adattároló --4x900GB HDD + 7x600GB HDD
- EMC 15-slot Disk Array Enclosure for DataDomain -15x3TB HDD- Adattároló - 2db van
- HPE UPS Extended Runtime Module R8000/3, R12000/3 compatible - kiegészitő modul -rackbe szerelhető
- iPhone 13 mini 128GB Green -1 ÉV GARANCIA -Kártyafüggetlen, MS3897
- BESZÁMÍTÁS! Apple iPad Air 5 10.9 64GB WiFi tablet garanciával hibátlan működéssel
- Acer Predator Helios 18 AI I9 ULTRA 9275HX, 192GB RAM, 2TB SSD, RTX 5080
- REFURBISHED - Lenovo ThinkPad 40AF Dock (DisplayLink)
- 137 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080 - 4 ÉV GARANCIA!
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest


