Silverlight - dataBinding z kódu - ProgressBar – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Silverlight - dataBinding z kódu - ProgressBar – .NET – Fórum – Programujte.comSilverlight - dataBinding z kódu - ProgressBar – .NET – Fórum – Programujte.com

 

Petrroll0
Stálý člen
27. 4. 2011   #1
-
0
-

Zdravím, předchozí problém jsem nakonec částečně vyřešil, ale nastal další problém. Binding z pro mne neznámého důvodu prostě nefunguje.

progressBar je komponenta ProgressBar umístěná ve formuláři. Zbytek kódu hlídače funguje dobře. Dokonce i ProcentUplynulose mění jak má.

    public partial class MainPage : UserControl

{
IntervalovyHodinovyStrojek interval;
MediaElement prehravac;
HlidacHodinovehoStrojku hlidacProgres1;
public MainPage()
{
//http://www.robtowns.com/music/blind_willie.mp3
//http://petrroll.asp2.cz/songs/gong.wav
InitializeComponent();
inicializujZvuk();
interval = new IntervalovyHodinovyStrojek(new TimeSpan(0,0,5));
interval.eTikTak += () => pomocneMetody.ZahrajZvuk(prehravac);
hlidacProgres1 = new HlidacHodinovehoStrojku();
Binding progressBind = new Binding();
progressBind.Path = new PropertyPath("ProcentUplynulo"); ;
progressBind.Mode = BindingMode.OneWay;
progressBind.Source = hlidacProgres1;
progressBar.SetBinding(ProgressBar.ValueProperty, progressBind);
hlidacProgres1.HlidanyObjekt = interval;


}

private void inicializujZvuk()
{
//smazatGong
prehravac = new MediaElement();
prehravac.AutoPlay = false;
//prehravac.Source = new Uri("http://www.robtowns.com/music/blind_willie.mp3", UriKind.Absolute);
prehravac.Source = new Uri("http://www.petrroll.asp2.cz/songs/gong.MP3", UriKind.Absolute);
LayoutRoot.Children.Add(prehravac);
}


private void button1_Click_1(object sender, RoutedEventArgs e)
{
interval.IsEnabled = true;
//progressBar.Value = 50;
}
}

        class HlidacHodinovehoStrojku : HodinovyStrojek, INotifyPropertyChanged

{
...
private int procentUplynulo;
public int ProcentUplynulo
{
get { return procentUplynulo; }
set { procentUplynulo = value; NotifyPropertyChanged("ProcentUplynulo"); }
}
public event PropertyChangedEventHandler PropertyChanged;

private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
...
}

Nahlásit jako SPAM
IP: 92.62.224.–
petr.satka0
Newbie
30. 4. 2011   #2
-
0
-

To Petrroll : Zkus se podívat jestli se na výstupu nevypisuje binding error.

Nahlásit jako SPAM
IP: 80.239.242.–
Petrroll
~ Anonymní uživatel
151 příspěvků
1. 5. 2011   #3
-
0
-

Vše je právě naprosto bez chyb, dokonce pokud místo bindingu použiji "vlastní binding"

hlidacProgres1.PropertyChanged += (Object,nazev) => { progressBar.Value = hlidacProgres1.ProcentUplynulo; };

Tak vše funguje. Problém prostě musí být někde v nastavení bindingu.

Nahlásit jako SPAM
IP: 92.62.224.–
Petrroll
~ Anonymní uživatel
151 příspěvků
2. 5. 2011   #4
-
0
-

Hlídač musí být dekladován jako public. (VYŘEŠENO)

Nahlásit jako SPAM
IP: 92.62.224.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

Podobná vlákna

Silverlight - dataBinding — založil Petrroll

Silverlight a databinding — založil Chrasty

DataBinding v C# (C++) — založil paashi

DataBinding vs. VisualStudio 2010 — založil VladislavK

ProgressBar — založil Anderos

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý