最近独学でXamarinを勉強していますが、色々とつまずいています。日本語の解説があんましないので、とりあえず書けるとこは書いていこうかなと思います。
学習にあたってはこちらの本を参考にしています。
https://www.amazon.co.jp/dp/4774188956
どなたか、良い勉強方法があったら教えてください。。。有料でも構いません。。。
ちなみに環境は
- VisualStudio2017 Community
です。
InitializeComponent は現在のコンテキスト内に存在しません。
最初、「なんでここでエラーが出るの!?」ってめっちゃハマりました。
調べたところ、ソースに問題があるわけではなくVisualStudioがXAMLをうまく認識できていないことが問題のようです。
解決策としては、プロジェクトに空のクラスを追加する で僕の場合は解決しています。(エラーが解決したらそのファイルを削除)
ぶっちゃけ、それは解決してないんじゃないかという気もするんですが。。。
結構頻発するので根本的な解決方法をどなたかご存知でしたら教えていただけると非常に助かります。
参考:
http://ytabuchi.hatenablog.com/entry/2017/04/14/203000
SearchBarが表示されない
MainPage.xamlに下記のコードを書くだけでは表示されませんでした。
<StackLayout Padding="20" Spacing="15" BackgroundColor="White" >
<!-- SarchBarの使用例-->
<SearchBar x:Name="searchingBar" Placeholder="Keyword" CancelButtonColor="Red" TextColor="Black" />
<Label Text="検索結果" FontSize="Small" FontAttributes="Bold" TextColor="Black" />
<Label x:Name="lblResult" TextColor="Black" />
</StackLayout>
これは、下記のようにSearchBar.HeightRequest というプロパティを記述することで解決しました。
<StackLayout Padding="20" Spacing="15" BackgroundColor="White" >
<!-- SarchBarの使用例-->
<SearchBar x:Name="searchingBar" Placeholder="Keyword" CancelButtonColor="Red" TextColor="Black" >
<SearchBar.HeightRequest>
<OnPlatform x:TypeArguments="x:Double"
iOS="-1.0"
Android="40.0"
WinPhone="-1">
</OnPlatform>
</SearchBar.HeightRequest>
</SearchBar>
<Label Text="検索結果" FontSize="Small" FontAttributes="Bold" TextColor="Black" />
<Label x:Name="lblResult" TextColor="Black" />
</StackLayout>
参考:
https://stackoverflow.com/questions/45472329/xamarin-forms-android-7-0-searchbar
なかなか悪戦苦闘中というか、書いててしっくりこないとこが多くてモヤモヤ。
業務でC# (アプリではなく普通のMVCweb)をやっているのでXamarinがいいかなーと始めてみたものの、早くもKotlinに乗り換えたくなってきました。笑