Witajcie ponownie - wczoraj założyłem podobny wątek, tylko nie miałem za bardzo siły żeby ogarniać życie, ten problem. Dodatkowo nie opisałem chyba wszystkiego należycie, założę temat ponownie i proszę o konkretne odpowiedzi. Nie ukrywam, że jest mi to potrzebne jednorazowo, muszę to zrobić i już. Całego kodu nie chcę za bardzo wklejać, ponieważ projekt jest rozległy (będę wklejał moje sugestie i pomysły, jak coś to najwyżej na PW podeślę). W każdym razie przechodząc do sedna mojego "problemu": Posiadam sobie jakieś okienko w WPF, w którym osadzone są różne kontrolki. Jedna z tych kontrolek będzie miała za zadanie wyświetlać ścieżkę pliku, który załaduję. Na samym wstępie nie wiem za bardzo jaki typ tej kontrolki użyć, czy to ma być <TextBox> czy <TextBlock>. Ja bym obstawiał <TextBox>, jednak jest to jakieś moje coś, co mi się urypało. Moja kontrolka wygląda więc w następujący sposób, "na czysto":
<TextBox Name="TxtBlock_sciezkaWejscia" IsEnabled="False" VerticalAlignment="Center" HorizontalAlignment="Stretch" Margin="5, 0, 5, 0" />
Mam pewną zmienną, która przechowuje mi tę ścieżkę, nie jest ona nazwana jakoś wybitnie trudno, pełne odwołanie do tej zmiennej to:
sciezkaPliku
z tym że to jest lista, zresztą ten fragment kodu (o ile poprawnie napisany, ale wszystko bangla, wiec powinno) wygląda tak:
public static string[] LadowanieWszystkichPlikow(string formatPliku)
{
sciezkaPliku = new List<string>();
using (var dialog = new FolderBrowserDialog())
{
DialogResult result = dialog.ShowDialog();
if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(dialog.SelectedPath))
{
SciezkaGlowna = dialog.SelectedPath;
SzukanieFolderowIPlikow(new string[1] { dialog.SelectedPath }, formatPliku);
}
}
return sciezkaPliku.ToArray();
}
Idąc za ciosem - potrzebuję pierwszą wczytaną ścieżkę przetransportować jakoś do mojego TextBoxa/TextBlocka. Jeden z użytkowników forum poradził mi, abym zastosował taki zabieg:
<textbox text="{Binding MyPropertyIWantToBind}"> <textbox.datacontext> <datatobind /> </textbox.datacontext> </textbox> W DataToBind mam oczywiście właściwość public string MyPropertyiWantToBing{get; set;}
Tym samym mógłbym to napisać, ale w DataToBind miałbym umieścić coś takiego? Chyba trochę bez sensu:
sciezkaPliku{get; set;}
Tyle, ze ja nie chcę bindować "Property", tylko zmienną. Znalazłem w internecie też takie rozwiązanie - http://www.altcontroldelete.pl/artykuly/wpf-tutorial-bindowanie/ - jednak w momencie chęci dodania do listy, w sensie kiedy chcę dodać do listy wartość "sciezkaPliku" to sie nie da. Pomysly, rady?