title: kivy: How to use StringProperty and bind()?
body: <p>I've got 2 screens, managed by a screenmanager. </p>
  
  <p>I'm using a global variable, <code>CHOSEN_ITEM</code>, to save a string variable which is changed by the First Screen.</p>
  
  <p>This <code>CHOSEN_ITEM</code> is displayed by the Second Screen. I know StringProperty must be used but I don't find a good example, understandable by myself, for this...</p>
  
  <pre><code>from kivy.properties import ObjectProperty, StringProperty
      ...
  CHOSEN_ITEM = ''
  
  class FirstScreen(Screen):
        ...
      def save_chosen(self):
          global CHOSEN_ITEM
          CHOSEN_ITEM = chosen_item
        ...
  
  class SecondScreen(Screen):
        ...
      global CHOSEN_ITEM
      chosen_item = StringProperty(CHOSEN_ITEM)
  
      def on_modif_chosenitem(self):
          print('Chosen Item was modified')
      self.bind(chosen_item=self.on_modif_chosenitem)
      ...
  </code></pre>
  
  <p>The error is then :</p>
  
  <pre><code>     File "_event.pyx", line 255, in kivy._event.EventDispatcher.bind (/tmp/pip-build-udl9oi/kivy/kivy/_event.c:3738)
   KeyError: 'chosen_item'
  </code></pre>
  
  <p>I don't get how to use <code>bind</code> with <code>StringProperty</code>.</p>